我有一些數據我需要爲每個月進行總結,並且我無法弄清楚如何讓它有12列(每月一個),總計爲月。按分區劃分總計數據的分區
例子:
數據作爲:
GrossAmt ClaimDate
49764.00 2014-08-21 00:00:00.000
1382.43 2014-08-27 00:00:00.000
602.77 2014-09-02 00:00:00.000
497.04 2014-09-02 00:00:00.000
期望的結果:
GrossAmt ClaimDate
51146.43 August
1099.81 September
實際所需的結果:
July August September
0 51146.43 1099.81
對不起,我以前不包括此!
我相信這是使用row over partition的最基本的例子,也許這是我缺乏編程背景,但這是一個概念,我不能籠絡我的頭。
這是我到目前爲止,但我不知道下一步該去哪裏。
With CTE ([GrossAmt],ClaimMonth)
AS(
SELECT TOP 10000
Sum([GrossAmt]) as TotalClaimAmt
,CASE WHEN Month([ClaimDate]) = 1 THEN 'January'
WHEN Month([ClaimDate]) = 2 THEN 'February'
WHEN Month([ClaimDate]) = 3 THEN 'March'
WHEN Month([ClaimDate]) = 4 THEN 'April'
WHEN Month([ClaimDate]) = 5 THEN 'May'
WHEN Month([ClaimDate]) = 6 THEN 'June'
WHEN Month([ClaimDate]) = 7 THEN 'July'
WHEN Month([ClaimDate]) = 8 THEN 'August'
WHEN Month([ClaimDate]) = 9 THEN 'September'
WHEN Month([ClaimDate]) = 10 THEN 'October'
WHEN Month([ClaimDate]) = 11 THEN 'November'
WHEN Month([ClaimDate]) = 12 THEN 'Decmber'
End AS ClaimMonth
FROM [Database].[dbo].[Table]
)
Group BY [ClaimDate]
)
Select * From CTE
也許我可能需要的是關於Row over分區如何工作的基本教程。我曾嘗試閱讀我在網上找到的文章,但沒有一篇看起來對我有意義,他們是先進的方式,我馬上就迷路了,也沒有幫助我通過閱讀學得不好,我需要看到它在行動中,並理解它是如何工作的。
無論如何,感謝您的幫助。你們好棒! 編輯:
實際所需的結果:
July August September
0 51146.43 1099.81
對不起,我以前不包括此!
您可以使用'DATENAME(MONTH,[ClaimDate])'代替那個awkard'CASE'表達式 – Lamak 2014-10-10 15:04:28
好的呼叫。謝謝! – 2014-10-10 15:22:49