1. Learn
  2. /
  3. Курси
  4. /
  5. Звітування в SQL

Connected

Вправа

Найбільш титулований атлет у кожному регіоні

Ваше завдання у цій вправі — показати найбільш титулованого атлета для кожного регіону. Щоб побудувати цей звіт, потрібно використати віконну функцію ROW_NUMBER(), яка нумерує кожний рядок послідовними цілими числами: перший рядок — 1, другий — 2 і так далі.

Синтаксис цієї віконної функції: ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Зверніть увагу, що в саму функцію аргументи не передаються.

Якщо все налаштовано правильно, row_num = 1 означатиме найбільш титулованого атлета в межах цього регіону. Якщо кілька атлетів мають однаковий підсумок, будь-хто з них може з'явитися першим у результаті. Зверніть увагу, що віконні обчислення не можна використовувати в операторі HAVING або WHERE, тож для фільтрації потрібно застосувати підзапит.

За потреби звертайтеся до E:R Diagram. Ми використаємо summer_games_clean, щоб уникнути обробки null-значень.

Інструкції 1/2

undefined XP
    1
    2
  • Побудуйте запит, який отримує region, athlete_name та total_golds, об'єднавши таблиці summer_games_clean, athletes і countries.
  • Додайте поле row_num, яке використовує ROW_NUMBER() для присвоєння регіонального рангу кожному атлету на основі загальної кількості здобутих золотих медалей.