【问题标题】:Cumulative sum start by zero on new year新年累计金额从零开始
【发布时间】:2021-03-16 07:02:02
【问题描述】:

我想编写一个 SQL 查询 (SQL Server),我可以在其中累积列的值,但如果新的一年开始,我想再次开始累积。

例如,我有一个这样的表:

我的查询目前如下所示:

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

我的结果是这样的:

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

【问题讨论】:

    标签: sql sql-server sum sql-order-by aggregate-functions


    【解决方案1】:

    partition by年:

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

    【讨论】:

      猜你喜欢
      • 2017-08-01
      • 1970-01-01
      • 2016-03-27
      • 2017-09-28
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多