【发布时间】:2020-04-08 05:41:29
【问题描述】:
我有这些数据,我想计算一个滚动的 3 天总和,如下所示。
注意:必须考虑缺少date。所以不只是最后 3 行,而是 3 个太阳日。
我尝试了一个窗口功能,但它不起作用:
SELECT
date,
SUM(clicks) OVER (ORDER BY DATE ASC ROWS BETWEEN DATE - INTERVAL '3 day' AND date)
FROM table
【问题讨论】:
-
我使用的是 Postgres 11(我错误地添加了 P9.1 标签)。无论如何,我在本地主机上使用 Postgresq 进行了测试,但在“)”附近出现语法错误
-
您的描述说“必须考虑缺少的日期。所以不只是最后 3 行”。但是您的数据图片不包括任何缺失的日期。请发布示例数据 - 作为文本而不是图像 - 涵盖您的要求。
-
使用第一个答案中建议的“INTERVAL '3 day'”我会解决这个问题。
标签: sql database postgresql aggregate-functions window-functions