始める無料で始める

統計的な集計関数を使う

SQL Server には統計用途の集計関数がいくつかあります。AVG() は標本の平均を計算します。STDEV()STDEVP() は、それぞれ標本と母集団の標準偏差を返します。VAR()VARP() は、それぞれ標本と母集団の分散を返します。これらは、前の演習で学んだ SUM()COUNT()MIN()MAX() などの集計関数に加えて使用できます。

この演習では、2020 年の第 2 四半期のインシデント集計とインシデント種別データをもう一度見ていきます。日々のインシデント件数がどの程度ばらついているのか、つまり日ごとに安定しているのか、大きく振れるのかを把握したいと考えています。

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

SQL Serverで学ぶ時系列分析

コースを見る

演習の手順

  • 足りない集計関数を補ってください。標準偏差と分散には、母集団用ではなく標本用の関数を使いましょう。

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

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

-- Fill in the missing function names
SELECT
	it.IncidentType,
	___(ir.NumberOfIncidents) AS MeanNumberOfIncidents,
	___(CAST(ir.NumberOfIncidents AS DECIMAL(4,2))) AS MeanNumberOfIncidents,
	___(ir.NumberOfIncidents) AS NumberOfIncidentsStandardDeviation,
	___(ir.NumberOfIncidents) AS NumberOfIncidentsVariance,
	___(1) AS NumberOfRows
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.IncidentType it
		ON ir.IncidentTypeID = it.IncidentTypeID
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	c.CalendarQuarter = 2
	AND c.CalendarYear = 2020
GROUP BY
it.IncidentType;
コードを編集して実行