新年累计金额从零开始

Posted

技术标签:

【中文标题】新年累计金额从零开始【英文标题】: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

我的结果是这样的:

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

【问题讨论】:

【参考方案1】:

partition by年:

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

【讨论】:

以上是关于新年累计金额从零开始的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学习Oracle数据库函数

从零开始学习Oracle数据库函数

从零开始学习MySql数据库函数

《从零开始学Swift》学习笔记(Day 34)——静态属性是怎么回事?

从零开始学习jQuery(转)

从零开始学习CANoe(十七)—— Diagnostics