ПочатиПочніть безкоштовно

Ранжування спортсменів за кількістю медалей

У розділі 1 ви використовували ROW_NUMBER, щоб упорядкувати спортсменів за кількістю отриманих медалей. Проте ROW_NUMBER призначає різні номери спортсменам із однаковою кількістю медалей, тож це не придатна функція для ранжування; якщо двоє спортсменів здобули однакову кількість медалей, вони мають мати однаковий ранг.

Ця вправа є частиною курсу

Підсумкова статистика та віконні функції в PostgreSQL

Переглянути курс

Інструкції до вправи

  • Присвойте кожному спортсмену ранг за кількістю здобутих медалей: що більше медалей, то вищий ранг; у разі однакових значень — однакові номери.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

WITH Athlete_Medals AS (
  SELECT
    Athlete,
    COUNT(*) AS Medals
  FROM Summer_Medals
  GROUP BY Athlete)

SELECT
  Athlete,
  Medals,
  -- Rank athletes by the medals they've won
  ___ OVER (ORDER BY ___ DESC) AS Rank_N
FROM Athlete_Medals
ORDER BY Medals DESC;
Редагувати та запускати код