我使用以下代码按年计算案例:
COUNT(CASE WHEN Year(FilingDate)=2008 THEN 1 ELSE NULL END) AS '2008'
我希望只在另一列不同时计算这些情况。另一列被称为'FilingDate'我想象的会是这样的:
COUNT(CASE distinct (DocketNumber) WHEN Year(FilingDate)=2008 THEN 1 ELSE NULL END) AS '2008',
样本记录:
DocketNumber FilingDate
123 2008
123 2008
123 2008
111 2009
112 2009
我只想接受= 1 任何想法?
由于
答案 0 :(得分:1)
SELECT COUNT(CASE WHEN YearFilingDate = 2008 THEN 1 END) AS '2008'
FROM
(
SELECT Year(FilingDate) AS YearFilingDate, DocketNumber
FROM dbo.test55
GROUP BY Year(FilingDate), DocketNumber
) x
SQLFiddle上的演示
答案 1 :(得分:0)
SELECT COUNT(CASE WHEN Year(FilingDate)=2008 THEN 1 ELSE NULL END) AS '2008'
GROUP BY DocketNumber
可能是。