ある期間でデータを集計する
SQL Server には、時間軸でデータを要約して洞察を得るのに役立つ集計関数がいくつかあります。次の例では、架空の会社のインシデント報告を見ていきます。インシデントはすでに日次粒度にロールアップされており、タイプごと・日ごとの件数が与えられています。ここからさらに深掘りし、8 月 1 日から 10 月 31 日までの 3 か月間のインシデントを確認し、集計によって基本的な洞察を得たいと思います。
ここで使用する主な集計関数は COUNT()、SUM()、MIN()、MAX() です。次の演習では、統計的な集計関数を見ていきます。
この演習はコースの一部です
SQL Serverで学ぶ時系列分析
演習の手順
- 列名に基づいて、適切な集計関数を入力してください。各列について
COUNT()、SUM()、MIN()、MAX()から選びます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Fill in the appropriate aggregate functions
SELECT
it.IncidentType,
___(1) AS NumberOfRows,
___(ir.NumberOfIncidents) AS TotalNumberOfIncidents,
___(ir.NumberOfIncidents) AS MinNumberOfIncidents,
___(ir.NumberOfIncidents) AS MaxNumberOfIncidents,
___(ir.IncidentDate) As MinIncidentDate,
___(ir.IncidentDate) AS MaxIncidentDate
FROM dbo.IncidentRollup ir
INNER JOIN dbo.IncidentType it
ON ir.IncidentTypeID = it.IncidentTypeID
WHERE
ir.IncidentDate BETWEEN '2019-08-01' AND '2019-10-31'
GROUP BY
it.IncidentType;