여러 열로 PARTITION BY 하기
PARTITION BY 절은 여러 데이터 포인트(열)별로 윈도 평균을 나눠 계산할 때 사용할 수 있습니다. 파티션에 사용할 정보를 직접 계산해 넣을 수도 있어요! 예를 들어, 시즌과 국가별 평균 득점을 계산하거나, 날짜 열에서 달력 연도를 추출해 연도별로 계산할 수도 있습니다.
이 연습 문제에서는 시즌마다의 월(月) 기준으로 파티션을 나누어, Legia Warszawa와 그들의 상대 팀이 기록한 홈/원정 평균 득점을 계산해 보겠습니다.
이 연습은 강의의 일부입니다
SQL에서의 데이터 조작
연습 안내
- 시즌과 월별로 홈 득점과 원정 득점의 평균을 파티션하는 두 개의 WINDOW 함수를 작성하세요.
- 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;