SQL窗口化分组累加和
我有一张这样的桌子SQL窗口化分组累加和,sql,aggregate,presto,windowing,Sql,Aggregate,Presto,Windowing,我有一张这样的桌子 |week_no|value|attribute| ------------------------- | 1 | 3 | a | | 2 | 3 | a | | 3 | 3 | a | | 1 | 4 | b | | 2 | 4 | b | | 3 | 4 | b | 我想要一个价值列的累计帐户 |week_no|value|at
|week_no|value|attribute|
-------------------------
| 1 | 3 | a |
| 2 | 3 | a |
| 3 | 3 | a |
| 1 | 4 | b |
| 2 | 4 | b |
| 3 | 4 | b |
我想要一个价值列的累计帐户
|week_no|value|attribute|accum_value|
-------------------------------------
| 1 | 3 | a | 3 |
| 2 | 3 | a | 6 |
| 3 | 3 | a | 9 |
| 1 | 4 | b | 4 |
| 2 | 4 | b | 8 |
| 3 | 4 | b | 12 |
我已经尝试使用这个窗口函数来执行上述操作,尽管它似乎没有返回正确的值
SUM(value) OVER(ORDER BY 1 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS accum_value
正确的窗口函数将通过以下方式使用分区:
MySQL不支持窗口函数,所以我假设您没有使用它。如果有什么问题的话,那似乎不起作用,我得到的结果与查看原始属性的结果相同,但有某种形式的乘数。
SUM(value) OVER (PARTITION BY attribute ORDER BY week_no
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS accum_value