如何计算每月 运行 总数?

How to calculate running total per month?

我在 PostgreSQL 中有一个 table:

date value
'2020-06-02' 150
'2020-06-03' 7891
'2020-07-02' 392
... ...

我需要为 table 中的每个日期获取 运行 列中 value 的总数。 运行 总数中 value 的总和必须在行中日期的月份的第一个日期和行中的日期之间的日期范围内计算。

示例:

如何实现?具有 window 功能?

实际上:

SELECT date
     , sum(value) OVER (PARTITION BY date_trunc('month', date) ORDER BY date)
FROM   tbl;

请注意,对等行(根据您的分区和排序顺序)得到相同的结果。意思是,重复的每一天都得到相同的 运行 总和,包括它们的所有值。