我想编写一个SQL查询(SQL Server),在其中我可以累加一个列的值,但是如果新的一年开始了,我想重新开始累加。
例如,我有一个这样的表:

我的查询目前如下所示:
SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Monthnum ASC) as RESULT
from TABLE
ORDER BY YEAR DESC, MONTHNUM DESC我的结果是这样的:

但我真正想要的是,我的结果是这样的:

发布于 2020-12-04 16:13:50
只需partition by年份:
SELECT *, SUM(value) OVER (PARTITION BY YEAR ORDER BY Monthnum) as RESULT
from TABLE --^--> here
ORDER BY YEAR DESC, MONTHNUM DESChttps://stackoverflow.com/questions/65139944
复制相似问题