Що тут з OVER?
Віконні функції дають змогу створювати RANK для інформації за будь-якою змінною, яку ви хочете використати для сортування даних. Налаштовуючи це, потрібно вказати, який стовпець або обчислення використовувати для визначення рангу. Це робиться шляхом додавання виразу ORDER BY всередину конструкції OVER(). Нижче наведено приклад:
SELECT
id,
RANK() OVER(ORDER BY home_goal) AS rank
FROM match;
У цій вправі ви створите набір даних із ранжованими матчами залежно від того, у яких лігах у середньому забивають найбільше голів за матч.
Ця вправа є частиною курсу
Маніпулювання даними в SQL
Інструкції до вправи
SELECTназву ліги та середню загальну кількість забитих голів із таблицьleagueіmatch.- Допишіть віконну функцію так, щоб вона обчислювала
RANK()середньої кількості голів серед усіх ліг у базі даних. - Упорядкуйте ранг
OVERза середньою сумою голів господарів і гостей.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
SELECT
-- Select the league name and average goals scored
___ AS league,
___(___ + ___.away_goal) AS avg_goals,
-- Rank each league over the average goals
___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;