冬日一片银白之地
加拿大、俄罗斯和蒙古是仅有的同时拥有奥运选手、且年平均气温低于冰点的国家。更常见的是,许多国家只有在冬季才会出现寒冷天气。即便一年中只有几个月气温低于冰点并下雪,这些国家仍能为运动员提供训练滑雪、雪车等项目的条件。
基于此,您将使用 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;