始める無料で始める

北欧選手のメダル数の移動最大値

フレームを使うと、ウィンドウ関数に渡す入力行を、開始位置と終了位置を指定したスライディングウィンドウに制限できます。

ウィンドウ関数にフレームを追加すると、行ごとに入力がスライドする「移動」系の指標を計算できるようになります。

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

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

コースを見る

演習の手順

  • 年、獲得メダル数、そして最大獲得メダル数を返します。比較対象は現在の年とその翌年のみとします。

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

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

WITH Scandinavian_Medals AS (
  SELECT
    Year, COUNT(*) AS Medals
  FROM Summer_Medals
  WHERE
    Country IN ('DEN', 'NOR', 'FIN', 'SWE', 'ISL')
    AND Medal = 'Gold'
  GROUP BY Year)

SELECT
  -- Select each year's medals
  ___,
  ___,
  -- Get the max of the current and next years'  medals
  ___ OVER (ORDER BY ___ ASC
             ROWS BETWEEN ___
             AND ___) AS Max_Medals
FROM Scandinavian_Medals
ORDER BY Year ASC;
コードを編集して実行