Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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;
Chỉnh sửa và Chạy Mã