เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้งานฟังก์ชัน Aggregate เชิงสถิติ

SQL Server มีฟังก์ชัน aggregate หลายตัวสำหรับงานด้านสถิติ ฟังก์ชัน AVG() ใช้คำนวณค่าเฉลี่ยของกลุ่มตัวอย่าง ส่วน STDEV() และ STDEVP() ใช้คำนวณค่าเบี่ยงเบนมาตรฐานของกลุ่มตัวอย่างและประชากร ตามลำดับ และ VAR() กับ VARP() ใช้คำนวณค่าความแปรปรวนของกลุ่มตัวอย่างและประชากร ตามลำดับ ฟังก์ชันเหล่านี้มาเพิ่มเติมจากฟังก์ชัน aggregate ที่เรียนไปในแบบฝึกหัดก่อนหน้า ได้แก่ SUM(), COUNT(), MIN() และ MAX()

ในแบบฝึกหัดนี้ เราจะกลับมาดูข้อมูลสรุปเหตุการณ์และประเภทเหตุการณ์อีกครั้ง คราวนี้เป็นข้อมูลของไตรมาสที่ 2 ของปีปฏิทิน 2020 เป้าหมายคือทำความเข้าใจว่าการเกิดเหตุการณ์มีความกระจายตัวมากน้อยเพียงใด กล่าวคือ จำนวนเหตุการณ์ที่เกิดขึ้นในแต่ละวันมีความสม่ำเสมอ หรือมีความผันผวนสูง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์อนุกรมเวลาใน SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมฟังก์ชัน aggregate ที่ขาดหายไปให้ครบ โดยสำหรับค่าเบี่ยงเบนมาตรฐานและค่าความแปรปรวน ให้ใช้ฟังก์ชันแบบกลุ่มตัวอย่าง ไม่ใช่แบบประชากร

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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;
แก้ไขและรันโค้ด