開始使用免費開始

當冬天一片雪白時

加拿大、俄羅斯與蒙古是唯一同時擁有奧運選手、且全年平均氣溫低於冰點的國家。更常見的情況是,多數國家只有在冬季幾個月會出現低溫。即使一年只有幾個月會到冰點並下雪,這些國家仍能讓選手有機會訓練如高山滑雪與雪橇等項目。

基於這點,你將使用 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;
編輯並執行程式碼