始める無料で始める

性別・種目ごとの連覇チャンピオン

前の演習では、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;
コードを編集して実行