[英]calculate YTD & Prev Year YTD
我想為每個客戶計算年初至今(2016年1月1日至一個月的最后一個日期)和上一年年初至今(2015年1月1日至一個月的最后一個日期)。
下面是我嘗試過的SQL查詢,但是在這里我為每個客戶端得到兩行而不是1行,因為我正在使用“ CASE WHEN”。
我的問題是如何在每個客戶端僅一行中獲取結果,而不是對於YTD而言是一行,而對於每個客戶端而言則是YTD-1中另一行?
SELECT [ClientName]
, (CASE WHEN YEAR([Purchase_Date]) = YEAR(GETDATE())-1 THEN (count(Activity)) end) AS 'YTD-1'
, (CASE WHEN YEAR([Purchase_Date]) = YEAR(GETDATE()) THEN (count(Activity)) end) AS 'YTD'
FROM Purchases
WHERE MONTH([Purchase_Date]) <= MONTH(GETDATE())
GROUP BY [ClientName], YEAR([Purchase_Date])
ORDER BY 1
請幫助!
謝謝,拉梅什
從GROUP BY
部分中刪除YEAR([Purchase_Date])
。
另外,代替:
(CASE WHEN YEAR([Purchase_Date]) = YEAR(GETDATE())-1 THEN (count(Activity)) end) AS 'YTD-1'
采用:
count(CASE WHEN YEAR([Purchase_Date]) = YEAR(GETDATE())-1 THEN Activity else NULL end) AS 'YTD-1'
與“ YTD”列相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.