여러 열로 PARTITION BY 하기
PARTITION BY 절은 여러 데이터 포인트(열)를 기준으로 윈도우 평균을 나눠 계산하는 데 사용할 수 있습니다. 데이터 파티션에 사용할 정보를 직접 계산할 수도 있습니다! 예를 들어, 시즌과 국가별 평균 득점을 계산하거나, 날짜 열에서 가져온 달력 연도를 기준으로 계산할 수 있습니다.
이번 연습 문제에서는 각 시즌의 월을 기준으로 파티션하여 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 average goals partitioned by season and month
___(home_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_home,
___(away_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_away
FROM match
WHERE
hometeam_id = ___
OR awayteam_id = ___
ORDER BY (home_goal + away_goal) DESC;