PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQL postgres агрегиране/изображение на данни по седмици с общи суми

Тук можете да намерите как да извлечете номера на седмицата . След това използвайте номер на седмица в оператора CASE

Демо на 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. Създаване на високодостъпна база данни за Moodle с помощта на PostgreSQL

  2. Сортиране на елементи от масива

  3. Блокиране на неактивни връзки на ClientRead за параметризирани заявки (обвързвания) по време на висок трафик

  4. ГРЕШКА:разрешението е отказано за последователност city_id_seq с помощта на Postgres

  5. CTE и парадоксът за рождения ден