GROUP BY
ในแบบฝึกหัดก่อนหน้า คุณเขียนคิวรีด้วย WHERE เพื่อหาปริมาณความต้องการพลังงานที่สูญเสียไปในแต่ละภูมิภาค แต่การเขียนคิวรีแยกสำหรับทุกภูมิภาคนั้นไม่สะดวกนัก โชคดีที่ไม่จำเป็นต้องทำแบบนั้น ด้วย GROUP BY สามารถคำนวณผลรวมของค่าที่ไม่ซ้ำกันในคอลัมน์ที่เลือกได้ทั้งหมดในคราวเดียว
แบบฝึกหัดนี้จะกลับมาใช้ตาราง grid และคำนวณยอดรวมความต้องการพลังงานที่สูญเสียสำหรับทุกภูมิภาค
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
SQL Server เบื้องต้น
คำแนะนำการฝึกหัด
- เลือก
nerc_regionและผลรวมของdemand_loss_mwสำหรับแต่ละภูมิภาค - กรองค่าที่
demand_loss_mwเป็น NULL ออก - จัดกลุ่มผลลัพธ์ตาม
nerc_region - เรียงลำดับตาม
demand_lossจากมากไปน้อย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Select the region column
SELECT
___,
-- Sum the demand_loss_mw column
SUM(___) AS demand_loss
FROM
grid
-- Exclude NULL values of demand_loss
WHERE
demand_loss_mw ___ ___ ___
-- Group the results by nerc_region
___ __
nerc_region
-- Order the results in descending order of demand_loss
ORDER BY
demand_loss ___;