【发布时间】:2019-06-05 20:05:01
【问题描述】:
我在 PostgreSQL 中有一个表,我想为每一行获取在每行日期前 30 天的一段时间内的行数(包括每个时刻的行事件) .示例:
Event. Date
A. 2019-02-13
B. 2019-02-15
C. 2019-03-17
D. 2019-03-19
E. 2019-04-22
F. 2019-04-23
G. 2019-04-30
预期输出:
Event. Date. Events occurred in last month
A. 2019-02-13. 1
B. 2019-02-15. 2
C. 2019-03-17. 1
D. 2019-03-19. 2
E. 2019-04-22. 1
F. 2019-04-23. 2
G. 2019-04-30. 3
例如,对于事件 B,上个月有两个事件:B 本身和 A,因为它发生在 2019 年 2 月 15 日不到 30 天。对于事件 G,有 3 个事件,因为从上个月(从 2019-03-30 开始)已经有 3 个事件(G 本身、E 和 F)。
如何在 PostgreSQL 查询中实现这一点?
问候
【问题讨论】:
-
在您的示例数据中,每个事件都有一个条目。看看
count和group by
标签: sql postgresql cumulative-sum