簡體   English   中英

計算年初至今和上一年年初至今

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM