冬は一面の銀世界
平均年間気温が氷点下で、かつオリンピアンがいる国は、Canada、Russia、Mongolia の3か国だけです。多くの国では、寒さは冬の数か月だけ発生します。凍えるような気温と雪の期間が数か月しかなくても、スキーやボブスレーのような競技のために選手が練習する機会は確保できます。
この前提で、オリンピック選手がいる国について、40年間の平均月間気温を使って気候データを調べます。あなたはアフリカでの冬季オリンピック参加が少ないことに興味を持ち、南半球にあるすべてのオリンピック地域の気温を確認することにしました。
共通テーブル式(CTE)を使って、可読性を重視したクエリを書いてください。
この演習はコースの一部です
PostgreSQLでクエリ性能を改善する
演習の手順
- 南半球向けの CTE
south_cteを作成します。 oclimateテーブルから 6 月の平均気温と降水量を取得します。- すべての地域について、冬の月の平均気温を確認できるように結果を結合します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
___ ___ ___ -- CTE
(
SELECT region
, ROUND(AVG(temp_06),2) AS avg_winter_temp
, ROUND(AVG(precip_06),2) AS avg_winter_precip
FROM ___
WHERE region IN ('Africa','South America','Australia and Oceania')
GROUP BY region
)
SELECT south.region, south.avg_winter_temp, south.avg_winter_precip
, COUNT(DISTINCT ath.athlete_id)
FROM ___ as south
INNER JOIN athletes_recent ath
ON south.region = ath.region
AND ath.season = 'Winter'
GROUP BY south.region, south.avg_winter_temp, south.avg_winter_precip
ORDER BY south.avg_winter_temp;