แชมป์เก่าจำแนกตามเพศและประเภทกีฬา
ในแบบฝึกหัดก่อนหน้า คุณใช้การ partition ตามคอลัมน์ gender เพื่อป้องกันไม่ให้ข้อมูลของเพศหนึ่งปะปนกับอีกเพศหนึ่ง อย่างไรก็ตาม หากมีหลายคอลัมน์ การ partition ด้วยคอลัมน์เดียวยังคงทำให้ผลลัพธ์ของคอลัมน์อื่นปะปนกันได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
PostgreSQL Summary Stats and Window Functions
คำแนะนำการฝึกหัด
- ดึงข้อมูลแชมป์คนก่อนหน้าของแต่ละปีโดยจำแนกตามเพศและประเภทกีฬา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
WITH Athletics_Gold AS (
SELECT DISTINCT
Gender, Year, Event, Country
FROM Summer_Medals
WHERE
Year >= 2000 AND
Discipline = 'Athletics' AND
Event IN ('100M', '10000M') AND
Medal = 'Gold')
SELECT
Gender, Year, Event,
Country AS Champion,
-- Fetch the previous year's champion by gender and event
___ OVER (___
ORDER BY Year ASC) AS Last_Champion
FROM Athletics_Gold
ORDER BY Event ASC, Gender ASC, Year ASC;