2
试图获得最右侧列的累计总数,该总数将重置为每年7月份重新开始。纳税年度是七月至六月。此代码重置历年:SQL年度累计总计7月至6月
Select T.MonthlyTotal
,T.SalesMonth
,T.[Year]
,SUM(T.MonthlyTotal) OVER (ORDER BY T.[Year]) AS CumulativeTotal
From (SELECT
SUM (SubTotal) AS MonthlyTotal
,MONTH(CreateDate) AS SalesMonth
,Year(CreateDate) AS [Year]
FROM OrderFormHeader
Group by Month(CreateDate),Year(CreateDate)) AS T
Order by T.[Year],T.SalesMonth
的样本数据:
MonthlyTotal SalesMonth Year CumulativeTotal
34370.56 7 2009 135682.15
61915.29 8 2009 135682.15
15027.21 9 2009 135682.15
9537.80 10 2009 135682.15
6748.38 11 2009 135682.15
8082.91 12 2009 135682.15
9047.77 1 2010 446574.06
11152.21 2 2010 446574.06
11672.16 3 2010 446574.06
13451.61 4 2010 446574.06
10777.37 5 2010 446574.06
20135.99 6 2010 446574.06
55169.70 7 2010 446574.06
93018.89 8 2010 446574.06
50195.15 9 2010 446574.06
11842.17 10 2010 446574.06
将salesmonth添加到您的SUM()OVER()? 'SUM(T.MonthlyTotal)OVER(ORDER BY T. [Year],T.SalesMonth)' – JamieD77