性別・種目ごとの連覇チャンピオン
前の演習では、gender で PARTITION して、一方の性別のデータがもう一方に混ざらないようにしました。ですが、複数の列がある場合に片方だけで PARTITION すると、もう一方の列の結果が混ざってしまいます。
この演習はコースの一部です
PostgreSQL 集計統計とウィンドウ関数
演習の手順
- 年ごとの各種目について、gender と event ごとに前年のチャンピオンを返してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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;