未来的金牌得主
提取函数可以把表中不同位置的值取到同一行里。若数据按时间排序,您可以用 LEAD 提取函数来"预览未来"。当您需要把当前值与未来的值进行比较时,这个方法尤其有用。
本练习是课程的一部分
PostgreSQL 汇总统计与窗口函数
练习说明
- 针对每个年份,提取当前的金牌得主,以及相对当前行向前 3 场比赛的金牌得主。
交互式实操练习
通过完成这段示例代码来试试这个练习。
WITH Discus_Medalists AS (
SELECT DISTINCT
Year,
Athlete
FROM Summer_Medals
WHERE Medal = 'Gold'
AND Event = 'Discus Throw'
AND Gender = 'Women'
AND Year >= 2000)
SELECT
-- For each year, fetch the current and future medalists
___,
___,
___ OVER (ORDER BY ___ ASC) AS Future_Champion
FROM Discus_Medalists
ORDER BY Year ASC;