Sql 新的一年里,累计总和从零开始

Sql 新的一年里,累计总和从零开始,sql,sql-server,sum,sql-order-by,aggregate-functions,Sql,Sql Server,Sum,Sql Order By,Aggregate Functions,我想编写一个SQL查询(SQL Server),在这里我可以累计一列的值,但如果新年即将开始,我想再次开始累计 例如,我有一张这样的桌子: SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Monthnum ASC) as RESULT from TABLE ORDER BY YEAR DESC, MONTHNUM DESC 我的查询当前如下所示: SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Mon

我想编写一个SQL查询(SQL Server),在这里我可以累计一列的值,但如果新年即将开始,我想再次开始累计

例如,我有一张这样的桌子:

SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Monthnum ASC) as RESULT 
from TABLE 
ORDER BY YEAR DESC, MONTHNUM DESC

我的查询当前如下所示:

SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Monthnum ASC) as RESULT 
from TABLE 
ORDER BY YEAR DESC, MONTHNUM DESC
我的结果如下:

SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Monthnum ASC) as RESULT 
from TABLE 
ORDER BY YEAR DESC, MONTHNUM DESC

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

SELECT *, SUM(value) OVER (ORDER BY YEAR ASC, Monthnum ASC) as RESULT 
from TABLE 
ORDER BY YEAR DESC, MONTHNUM DESC

仅按年份划分:

SELECT *, SUM(value) OVER (PARTITION BY YEAR ORDER BY Monthnum) as RESULT 
from TABLE               --^--> here
ORDER BY YEAR DESC, MONTHNUM DESC

仅按年份划分:

SELECT *, SUM(value) OVER (PARTITION BY YEAR ORDER BY Monthnum) as RESULT 
from TABLE               --^--> here
ORDER BY YEAR DESC, MONTHNUM DESC