НачатьНачать бесплатно

PARTITION BY по столбцу

Клауза PARTITION BY позволяет вычислять отдельные «окна» на основе столбцов, по которым вы хотите разбить результаты. Например, можно создать единый столбец, который рассчитывает общее среднее количество голов для каждого сезона.

В этом упражнении вы сформируете набор данных о матчах команды Legia Warszawa (Варшавская лига) — сильнейшего клуба Польши — и сравните результаты отдельных игр с общим средним показателем за соответствующий сезон.

Где вы заметите больше выбросов? В домашних или выездных матчах Legia Warszawa?

Это упражнение является частью курса

Манипуляции с данными в SQL

Посмотреть курс

Инструкции к упражнению

  • Заполните две оконные функции, которые вычисляют средние значения голов дома и на выезде. Разбейте оконные функции по сезону, чтобы рассчитать отдельные средние значения для каждого сезона.
  • Отфильтруйте запрос так, чтобы он включал только матчи команды 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;
Редактировать и запускать код