ผลรวมย่อยในทุกระดับกลุ่ม
สมมติว่าต้องการแยกแยะเหรียญทั้งหมดที่รัสเซียได้รับในโอลิมปิก 2012 ตามเพศและประเภทเหรียญ เนื่องจากเหรียญทั้งหมดเป็นของประเทศเดียวกัน จึงเหมาะอย่างยิ่งที่จะสร้างผลรวมย่อยในทุกระดับ (ทั้งระดับ Gender และ Medal) รวมถึงยอดรวมทั้งหมด
ให้สร้างการแจกแจงเหรียญที่รัสเซียได้รับ แยกตามเพศและประเภทเหรียญ โดยรวมผลรวมย่อยในทุกระดับกลุ่มและยอดรวมทั้งหมด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
PostgreSQL Summary Stats and Window Functions
คำแนะนำการฝึกหัด
- นับจำนวนเหรียญที่ได้รับแยกตามเพศและประเภทเหรียญ
- สร้างจำนวนนับในทุกระดับกลุ่มที่เป็นไปได้ (ผลรวมย่อยตามเพศและประเภทเหรียญ รวมถึงยอดรวมทั้งหมด)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Count the medals per gender and medal type
SELECT
___,
___,
___ AS Awards
FROM Summer_Medals
WHERE
Year = 2012
AND Country = 'RUS'
-- Get all possible group-level subtotals
GROUP BY ___
ORDER BY Gender ASC, Medal ASC;