ดูการรวมข้อมูลทุกรูปแบบด้วย CUBE
ตัวดำเนินการ CUBE จะสร้างการรวมข้อมูลแบบครอสสำหรับทุกชุดค่าผสมที่เป็นไปได้ ซึ่งอาจทำให้ได้ผลลัพธ์เป็นจำนวนแถวมาก ตัวดำเนินการนี้เหมาะสมที่สุดกับข้อมูลที่ไม่มีลำดับชั้น (non-hierarchical) เมื่อต้องการดูทั้งการรวมข้อมูลแบบอิสระและแบบรวมกัน
ในสถานการณ์นี้ เราต้องการหาจำนวนเหตุการณ์ด้านความปลอดภัยทั้งหมดในตาราง IncidentRollup โดยไม่ยึดตามลำดับชั้นที่แน่นอน แต่จะมุ่งเน้นการรวมข้อมูลของแอตทริบิวต์ที่ไม่เกี่ยวข้องกันหลายรายการแทน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์อนุกรมเวลาใน SQL Server
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
-- Use the ORDER BY clause as a guide for these columns
-- Don't forget that comma after the third column if you
-- copy from the ORDER BY clause!
ir.___,
c.___,
c.___,
SUM(ir.NumberOfIncidents) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
ir.IncidentTypeID IN (3, 4)
GROUP BY
-- GROUP BY should include all non-aggregated columns
ir.___,
c.___,
c.___
-- Fill in your grouping operator
WITH ___
ORDER BY
ir.IncidentTypeID,
c.CalendarQuarterName,
c.WeekOfMonth;