PARTITION BY за стовпцем
Клауза PARTITION BY дає змогу обчислювати окремі «вікна» на основі стовпців, за якими ви хочете поділити результати. Наприклад, можна створити єдиний стовпець, що обчислює загальне середнє забитих голів для кожного сезону.
У цій вправі ви створите набір даних ігор, у яких брала участь команда Legia Warszawa (Легія Варшава) — найсильніша команда Польщі, — і порівняєте її результат у кожному матчі із загальним середнім для відповідного сезону.
Де ви бачите більше викидів? Це домашні чи виїзні матчі Legia Warszawa?
Ця вправа є частиною курсу
Маніпулювання даними в SQL
Інструкції до вправи
- Доповніть дві віконні функції, які обчислюють середні голи для домашніх і виїзних матчів. Розбийте віконні функції за season, щоб обчислити окремі середні для кожного сезону.
- Відфільтруйте запит, щоб залишити лише матчі Legia Warszawa,
id = 8673.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
SELECT
date,
season,
home_goal,
away_goal,
CASE WHEN hometeam_id = 8673 THEN 'home'
ELSE 'away' END AS warsaw_location,
-- Calculate separately the average home and away goals scored, partitioned by season
___(___) ___(___ ___ ___) AS season_homeavg,
___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa (id 8673) matches only
WHERE
___ = ___
OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;