始める無料で始める

重複を除いた件数を計算する

COUNT() には便利なバリエーションである COUNT(DISTINCT) があります。これは重複を除いた件数を計算する関数で、COUNT(DISTINCT x.Y) のように書くと、エイリアスが x のテーブルにある列 Y のユニークな値の数を取得できます。

この例では、dbo.IncidentRollup テーブルのインシデント集計データを引き続き確認します。マネジメントは、過去 3 か月分のデータにおけるユニークなインシデント種別の数と、インシデントが発生した日数を知りたがっています。

総インシデント件数については、前の演習であなたが伝えているので既に把握しています。

この演習はコースの一部です

SQL Serverで学ぶ時系列分析

コースを見る

演習の手順

  • IncidentTypeID の重複を除いた件数を NumberOfIncidentTypes として返してください。
  • IncidentDate の重複を除いた件数を NumberOfDaysWithIncidents として返してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Fill in the functions and columns
SELECT
	___(___ ir.___) AS NumberOfIncidentTypes,
	___(___ ir.___) AS NumberOfDaysWithIncidents
FROM dbo.IncidentRollup ir
WHERE
ir.IncidentDate BETWEEN '2019-08-01' AND '2019-10-31';
コードを編集して実行