我正在使用SQL Server 2014.我有一个 Claims 表,其中包含我系统中每月索赔的总数:
+-----------+-------------+------------+
| Claim_ID | Claim_Date | Nett_Total |
+-----------+-------------+------------+
| 1 | 31 Jan 2012 | 321454.67 |
| 2 | 29 Feb 2012 | 523542.34 |
| 3 | 31 Mar 2012 | 35344.33 |
| 4 | 30 Apr 2012 | 142355.63 |
| etc. | etc. | etc. |
+-----------+-------------+------------+
对于我正在撰写的报告,我需要能够产生累计运行总额,在每个会计年度开始时重置为零(在我的国家,这是从下一年的3月1日到2月28/29) 。
报告看起来与表格类似,有一个额外的运行总栏目,如:
+-----------+-------------+------------+---------------+
| Claim_ID | Claim_Date | Nett_Total | Running Total |
+-----------+-------------+------------+---------------+
| 1 | 31 Jan 2012 | 321454.67 | 321454.67 |
| 2 | 29 Feb 2012 | 523542.34 | 844997.01 |
| 3 | 31 Mar 2012 | 35344.33 | 35344.33 | (restart at 0
| 4 | 30 Apr 2012 | 142355.63 | 177699.96 | for new yr)
| etc. | etc. | etc. | |
+-----------+-------------+------------+---------------+
我知道窗口函数非常强大,我过去以初步的方式使用它们来获取总和和平均值,同时避免需要对结果集行进行分组。我有一种直觉,我需要使用前面的'用于获取每一行所属的当前会计年度的运行总计的关键字,但我不太清楚如何将财政年度表达为在前一个会议期间使用的概念。条款(或者如果确实可以以这种方式使用日期范围)。
"短语"的任何帮助"前面"的会计年度这个条款对我很有帮助。