假设我有一个名为values
的简单表:
ID day value
1 2023-09-21 37
2 2023-09-21 14
3 2023-09-22 42
4 2023-09-23 9
5 2023-09-23 10
6 2023-09-23 11
7 2023-09-24 14
8 2023-09-24 16
9 2023-09-25 6
10 2023-09-25 4
11 2023-09-26 17
12 2023-09-27 22
13 2023-09-28 31
14 2023-09-28 9
我想生成一个滚动的3天总和,即.过go 3天的总计,每一天.
因此,最终结果将是:
day total
2023-09-21 51 (21st = 37+14)
2023-09-22 93 (21st + 42)
2023-09-23 123 (21st + 22nd + (9+10+11))
2023-09-24 102 (22nd + 23rd + (14+16))
2023-09-25 70 (23rd + 24th + (6+4))
2023-09-26 57 (24th + 25th + 17)
2023-09-27 49 (25th + 26th + 22)
2023-09-28 79 (26th + 27th + (31+9))
我可以很容易地计算出每天的总数,即.
SELECT day, sum(value) as daily_total
FROM values
GROUP by day
ORDER BY day
这给了我:
day daily_total
2023-09-21 51
2023-09-22 42
2023-09-23 30
2023-09-24 30
2023-09-25 10
2023-09-26 17
2023-09-27 22
2023-09-28 40
我使用的是最新版本的PostgreSQL,无论我如何try ,都无法得到移动/运行总数.我try 过复制使用窗口函数和按范围划分的示例.我相信这将会很简单,然而现在它正在击败我.