НачатьНачать бесплатно

Скользящий максимум медалей китайских спортсменов

Фреймы позволяют «заглядывать» вперёд или назад, не прибегая предварительно к функциям относительного смещения LAG и LEAD для получения значений предыдущих строк в текущую.

Это упражнение является частью курса

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;
Редактировать и запускать код