열 기준 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;