The match is OVER
Клауза OVER() дає змогу застосувати агрегатну функцію до набору даних, подібно до підзапитів у SELECT. Водночас OVER() має суттєві переваги над підзапитами в SELECT: зокрема, ваші запити виконуватимуться швидше, а також OVER() підтримує широкий набір додаткових функцій і клауз, які ми розглянемо далі в цьому розділі.
У цій вправі ви переробите деякі запити з попередніх розділів, використовуючи OVER().
Ця вправа є частиною курсу
Маніпулювання даними в SQL
Інструкції до вправи
- Виберіть
IDматчу, назву країниname,season,home_goalіaway_goalз таблицьmatchтаcountry. - Доповніть запит, який обчислює середню кількість забитих м'ячів загалом і додає це агреговане значення до кожного рядка за допомогою віконної функції.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
SELECT
-- Select the match id, country name, season, home, and away goals
___,
c.___ AS country,
m.season,
___.home_goal,
___,
-- Use a window to include the aggregate average in each row
___(___.home_goal + ___) ___ AS overall_avg
FROM match AS m
LEFT JOIN country AS c ON m.country_id = c.id;