การนับค่าที่ไม่ซ้ำกัน
ฟังก์ชัน COUNT() มีรูปแบบที่มีประโยชน์มาก คือ COUNT(DISTINCT) ฟังก์ชันนับค่าที่ไม่ซ้ำกันนี้ช่วยให้คำนวณจำนวนค่าที่ไม่ซ้ำกันในชุดข้อมูลได้ โดย COUNT(DISTINCT x.Y) จะนับจำนวนค่าที่ไม่ซ้ำกันในคอลัมน์ Y ของตารางที่ใช้ alias ว่า x
ในแบบฝึกหัดนี้ จะใช้ข้อมูลสรุปเหตุการณ์ในตาราง dbo.IncidentRollup ต่อจากเดิม ฝ่ายบริหารต้องการทราบว่าในชุดข้อมูลช่วงสามเดือนนี้มีประเภทเหตุการณ์ที่ไม่ซ้ำกันทั้งหมดกี่ประเภท และมีกี่วันที่เกิดเหตุการณ์ขึ้น
สำหรับจำนวนเหตุการณ์ทั้งหมด ฝ่ายบริหารได้รับข้อมูลนั้นไปแล้วจากแบบฝึกหัดก่อนหน้า
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์อนุกรมเวลาใน 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';