始める無料で始める

地域ごとの最多受賞アスリート

この演習の目標は、地域ごとに最多受賞のアスリートを表示することです。 このレポートを作成するには、各行に連番の整数を振る ROW_NUMBER() ウィンドウ関数を使います。最初の行は 1、2 行目は 2、というように続きます。

このウィンドウ関数の構文は ROW_NUMBER() OVER (PARTITION BY field ORDER BY field) です。最初の関数には引数がない点に注目してください。

正しく設定できていれば、row_num = 1 はその地域で最も受賞数の多いアスリートを表します。合計が同じアスリートが複数いる場合は、そのうちの誰か 1 人がトップとして表示されます。なお、HAVINGWHERE 句の中でウィンドウ計算は使えないため、フィルタリングにはサブクエリを使用する必要があります。

必要に応じて E:R 図 を参照してください。ヌル処理を避けるため、summer_games_clean を使用します。

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

SQLでのレポーティング

コースを見る

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

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

SELECT 
	-- Query region, athlete_name, and total gold medals
	____, 
    ____ AS athlete_name, 
    ____ AS total_golds,
    -- Assign a regional rank to each athlete
    ____ AS row_num
FROM ____ AS s
JOIN ____ AS a
ON ____
JOIN ____ AS c
ON ____
GROUP BY ____;
コードを編集して実行