开始使用免费开始使用

冬日一片银白之地

加拿大、俄罗斯和蒙古是仅有的同时拥有奥运选手、且年平均气温低于冰点的国家。更常见的是,许多国家只有在冬季才会出现寒冷天气。即便一年中只有几个月气温低于冰点并下雪,这些国家仍能为运动员提供训练滑雪、雪车等项目的条件。

基于此,您将使用 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;
编辑并运行代码