那天氣呢
從區域來看,非洲在田徑(跑步)項目上很有名。不過,非洲每個(有參賽的)國家所派出的選手人數卻是最少的。為什麼?
跑步項目只出現在夏季奧運,也許非洲在冬季奧運並沒有派出太多選手。這可以解釋為什麼如果橫跨所有奧運來看,選手數會偏低。
透過依季節(夏季對比冬季)檢視選手人數,來探索這個假設。
本練習屬於課程
改進 PostgreSQL 的查詢效能
練習說明
- 在
SELECT子句中加入athletes資料表的season欄位。 - 選擇只會回傳有派出參賽選手的國家的連接(JOIN)型別。
- 依
region與athletes_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
___ ___ , ___;