始める無料で始める

中国人アスリートのメダルの移動最大値

フレームを使うと、相対参照関数である LAGLEAD を使って過去や未来の行の値を現在の行に取り込まなくても、先読みや後ろ読みができます。

この演習はコースの一部です

PostgreSQL 集計統計とウィンドウ関数

コースを見る

演習の手順

  • アスリート名、獲得メダル数、そして最大獲得メダル数を返します。比較対象は直近の2人と現在のアスリートに限定し、アスリート名をアルファベット順に並べ替えてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

WITH Chinese_Medals AS (
  SELECT
    Athlete, COUNT(*) AS Medals
  FROM Summer_Medals
  WHERE
    Country = 'CHN' AND Medal = 'Gold'
    AND Year >= 2000
  GROUP BY Athlete)

SELECT
  -- Select the athletes and the medals they've earned
  ___,
  ___,
  -- Get the max of the last two and current rows' medals 
  ___ OVER (ORDER BY ___ ASC
            ROWS BETWEEN ___
            AND ___) AS Max_Medals
FROM Chinese_Medals
ORDER BY Athlete ASC;
コードを編集して実行