當冬天一片雪白時
加拿大、俄羅斯與蒙古是唯一同時擁有奧運選手、且全年平均氣溫低於冰點的國家。更常見的情況是,多數國家只有在冬季幾個月會出現低溫。即使一年只有幾個月會到冰點並下雪,這些國家仍能讓選手有機會訓練如高山滑雪與雪橇等項目。
基於這點,你將使用 40 年的平均每月氣溫資料,查看擁有奧運選手的國家的氣候。你對非洲在冬季奧運參與度偏低感到好奇,決定查看南半球所有奧運地區的氣溫。
請撰寫查詢,使用 common table expression(CTE)以提升可讀性。
本練習屬於課程
改進 PostgreSQL 的查詢效能
練習說明
- 為南半球撰寫一個名為
south_cte的 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;