始める無料で始める

GROUP BY と集約

人口データが欠損している国をもう一度確認することにしました。World Bank の demographics データを、オリンピックの oregions データに結合します。

傾向を確認したいので、国を地域ごとにグループ化し、地域別に人口データが欠損している国の数を見たいと考えています。表示はオリンピックの region 単位にし、国コード olympic_cc を使って人口データがある国を数えたいとします。

Run Code を選んで結果を確認してください。エラーが出ましたか?

赤いエラーメッセージを読み、下の指示に従ってクエリを修正してください。

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

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

コースを見る

演習の手順

  • 赤いエラー出力を読みます。
  • SELECT 句の非集約列を、GROUP BY 句の列と一致するように変更します。

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

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

SELECT reg.country, COUNT(DISTINCT dem.olympic_cc)
FROM regions reg -- Olympics region data
LEFT JOIN demographics dem -- World Bank population data
  ON dem.olympic_cc = reg.olympic_cc
GROUP BY reg.region;
コードを編集して実行