在Sql(postgres)中如何同时具有两个聚合列

时间:2018-10-31 15:46:17

标签: sql postgresql reporting

我在Postgres中有一张桌子:

===

我需要显示为:

2018年9月(每月)

----------------------------------------------
| id | product| price| chain| location| date |           
----------------------------------------------

我可以很容易地使用group by子句来达到“月份总和”。 但是我很困惑如何显示第二列。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您想要一个累加的总和,像这样:

select date_trunc('month', date) as yyyymm, sum(price),
       sum(sum(price)) over (partition by extract(year from date) order by min(date)) as ytd
from location
group by grouping sets ( (yyyymm), () );