开始使用免费开始使用

中国运动员奖牌数的滑动最大值

通过定义帧,您可以在不先使用相对取数函数 LAGLEAD 把前后行的值取到当前行的情况下,直接向前或向后"窥视"数据。

本练习是课程的一部分

PostgreSQL 汇总统计与窗口函数

查看课程

练习说明

  • 返回运动员姓名、获得的奖牌数,以及最大奖牌数。仅在最近两位运动员与当前运动员之间进行比较,并按运动员姓名的字母顺序排序。

交互式实操练习

通过完成这段示例代码来试试这个练习。

WITH Chinese_Medals AS (
  SELECT
    Athlete, COUNT(*) AS Medals
  FROM Summer_Medals
  WHERE
    Country = 'CHN' AND Medal = 'Gold'
    AND Year >= 2000
  GROUP BY Athlete)

SELECT
  -- Select the athletes and the medals they've earned
  ___,
  ___,
  -- Get the max of the last two and current rows' medals 
  ___ OVER (ORDER BY ___ ASC
            ROWS BETWEEN ___
            AND ___) AS Max_Medals
FROM Chinese_Medals
ORDER BY Athlete ASC;
编辑并运行代码