我有以下输入,我需要计算每个类别前 x 周数的值的总和。
如果 x 为 3,输出将如下所示:
请注意,最后一个值为 49,因为自 x=3 以来,它仅将上周的值添加到当前周。
我希望将 SQL 编写为存储过程,并且需要一些有关执行此操作的适当方法的帮助。
在@sp_BlitzErik 的帮助下,我尝试使用LAG,但无法完全到达我需要的地方。这是我的查询:
SELECT category
,year
,week
,value
,(
LAG(value, 1, 0) OVER (
ORDER BY category
,year
,week
) + LAG(value, 2, 0) OVER (
ORDER BY category
,year
,week
) + value
) AS cumulative_value
FROM valuedata
Run Code Online (Sandbox Code Playgroud)
输出还不太正确: