始める無料で始める

天候の影響は?

地域別に見ると、アフリカは陸上競技で強いという印象があります。しかし、競技に参加する国あたりの選手数はアフリカが最も少ないのです。なぜでしょうか?

陸上競技は夏季オリンピックにしかありません。つまり、アフリカは冬季大会にはあまり選手を派遣していないのかもしれません。全オリンピックで見ると選手数が少ない理由として、これは説明がつきます。

この仮説を検証するために、シーズン(Summer と Winter)ごとの選手数を調べてみましょう。

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

PostgreSQLでクエリ性能を改善する

コースを見る

演習の手順

  • athletes テーブルから season フィールドを SELECT 文に追加します。
  • 競技に参加している選手がいる国だけを返すように、適切な JOIN の種類を選びます。
  • 夏季と冬季オリンピックで違いがあるか確認できるように、regionathletes_per_country で並べ替えます。

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

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

SELECT reg.region
  , ___
  , COUNT(DISTINCT ath.athlete_id) AS no_athletes
  , COUNT(DISTINCT reg.olympic_cc) AS no_countries
  , COUNT(DISTINCT ath.athlete_id)/COUNT(DISTINCT reg.olympic_cc) AS athletes_per_country
FROM athletes ath
___ JOIN oregions reg
  ON ath.country_code = reg.olympic_cc
GROUP BY reg.region, ___ -- Group by region and season
___ ___ , ___;
コードを編集して実行