1

次のコードを使用して、年ごとにケースをカウントしています。

COUNT(CASE WHEN Year(FilingDate)=2008 THEN 1 ELSE NULL END) AS '2008'

そして、別の列が異なる場合にのみ、これらのケースをカウントしたいと思います。もう1つの列は「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アイデアはありますか?

ありがとう

4

2 に答える 2

1

SUBQUERYおよびGROUPBY句でオプションを使用する

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のデモ

于 2013-03-26T08:14:22.060 に答える
0
SELECT COUNT(CASE WHEN Year(FilingDate)=2008 THEN 1 ELSE NULL END) AS '2008'
GROUP BY DocketNumber

多分。

于 2013-03-26T06:29:00.430 に答える