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