重複を除いた件数を計算する
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';