Привет, у меня есть простая база данных с тремя полями:
Customer: Date: Amount:
ACME, 2018-01-01, 37.50
......
И хотите собрать сумму на одного клиента в месяц в таблице.
Идеальным будет:
month: 01,02,03,04,05,06,07,08,09,10,11,12
total: (sum of all sales per month)
acme : (sum of customer sales per month)
etc. ...
Я думал, что подобная кросс-таблица решит эту проблему, но я, кажется, застрял здесь, любые идеи:
SELECT *
FROM crosstab('SELECT "Customer", to_char("Date",'MM') as "Month",sum("Amount") as "Sale" FROM Sales where "Date">'2018-01-01' GROUP BY 1,2') as "Month" ("Customer" varchar, "Sale" real);