Nhà vô địch đương kim theo giới tính và nội dung thi
Trong bài trước, bạn đã phân vùng theo giới tính để đảm bảo dữ liệu của một giới không lẫn vào dữ liệu của giới còn lại. Tuy nhiên, nếu bạn có nhiều cột, chỉ phân vùng theo một cột sẽ vẫn trộn lẫn kết quả của các cột còn lại.
Bài tập này là một phần của khóa học
Thống kê tóm tắt và Window Functions trong PostgreSQL
Hướng dẫn bài tập
- Trả về nhà vô địch của năm trước cho mỗi sự kiện theo giới tính và nội dung thi.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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;