PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

agregacja postgresu SQL/obrot danych według tygodni z sumami

Tutaj znajdziesz jak wyodrębnić numer tygodnia . Następnie użyj numeru tygodnia w instrukcji CASE

demonstracja SQLFiddle

WITH T AS
(
SELECT
EventLogs.*
,
extract(week from start_at) - 
extract(week from date_trunc('month', start_at)) + 1 as WeekNo


 FROM EventLogs  
WHERE (start_at BETWEEN '2013-10-01' AND '2013-10-31')
)

SELECT
place_id,
SUM(CASE WHEN WeekNo=1 THEN total_fee_pennies ELSE 0 END) as Week_1,
SUM(CASE WHEN WeekNo=2 THEN total_fee_pennies ELSE 0 END) as Week_2,
SUM(CASE WHEN WeekNo=3 THEN total_fee_pennies ELSE 0 END) as Week_3,
SUM(CASE WHEN WeekNo=4 THEN total_fee_pennies ELSE 0 END) as Week_4,
SUM(CASE WHEN WeekNo=5 THEN total_fee_pennies ELSE 0 END) as Week_5

from T

GROUP BY place_id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. psql:FATAL:rola postgres nie istnieje

  2. Skopiuj kilka kolumn pliku csv do tabeli

  3. SQLAlchemy z domyślną klasą danych nie wypełnia bazy danych postgres

  4. Instalacja PostgreSQL 9 w systemie Windows:Nie można pisać w ścieżce środowiska TEMP.

  5. Tłumaczenie zapytania z Firebird na PostgreSQL