始める無料で始める

PARTITION BY - 列で区分

PARTITION BY 句を使うと、指定した区分に基づき、個別の計算を行えます。例えば、各シーズンの平均得点を計算し、その値を列として追加表示できます。

この練習では、ポーランドのトップチームである Legia Warszawa (ワルシャワ・リーグ)の試合データセットを作成し、各試合の成績をそのシーズン全体の平均と比較します。

どこに外れ値が多くありますか?Legia Warszawa のホームとアウェイ、どちらの試合で多いか確認してみましょう。

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

SQL のデータ操作

コースを見る

演習の手順

  • ホーム得点の平均とアウェイ得点の平均を計算する、2 つのウィンドウ関数を完成させてください。シーズンごとの平均を計算するため、ウィンドウ関数をシーズンで区分してください。
  • このクエリをフィルタリングし、Legia Warszawaid = 8673)の試合だけが含まれるようにしてください。

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

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

SELECT
	date,
	season,
	home_goal,
	away_goal,
	CASE WHEN hometeam_id = 8673 THEN 'home' 
		 ELSE 'away' END AS warsaw_location,
    -- Calculate separately the average home and away goals scored, partitioned by season
    ___(___) ___(___ ___ ___) AS season_homeavg,
    ___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa (id 8673) matches only
WHERE 
	___ = ___ 
    OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;
コードを編集して実行