先聚合,再连接表
您手头有以下清单:
- 参加过往奥运会的非洲运动员
- 各国人均 GDP
- 各年份人口
为便于练习,年度人口与经济数据(GDP 与人口)已被分为低、中、高三类。您的任务是比较每个非洲国家的 GDP、人口以及运动员数量。
您希望最终结果按国家和年份各占一行。由于 athletes 表的数据粒度为"运动员-赛事",而 demographics_rank 表为"国家-年份",因此在将其与 GDP 和人口数据连接之前,您需要先对 athletes 表做聚合。
本练习是课程的一部分
提升 PostgreSQL 查询性能
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Count the number of athletes by country
SELECT country_code
, year
, ___(___) AS no_athletes
FROM athletes
GROUP BY ___, ___;