我试图摆脱在我的项目(SQL Server 2012)中使用游标。我需要准备计算反向(减法)运行总数的查询。
让我举例说明。
我有以下数据集:
Id AppId CaseId Amount Balance
1 2 123 16.48 43.29
2 2 123 5.01 43.29
3 2 123 2.25 43.29
4 4 123 16.48 43.29
5 4 123 5.01 43.29
6 4 123 2.25 43.29
7 10 789 2 10
8 11 789 4 10
我需要得到以下数据集:
Id AppId CaseId Amount Balance Total
1 2 123 16.48 43.29 25.81
2 2 123 5.01 43.29 20.8
3 2 123 2.25 43.29 18.55
4 4 123 16.48 43.29 2.07
5 4 123 5.01 43.29 -2.94
6 4 123 2.25 43.29 -5.19
7 10 789 2 10 8
8 11 789 4 10 4
我尝试使用 LAG 和 SUM() OVER() 但我不明白如何正确使用它。
你能帮我吗?
您可以使用
MIN() OVER()
和的组合SUM() OVER()
:这是它的演示。