計算不重複的筆數
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';