시작하기무료로 시작하기

여기서 OVER는 뭘까요?

윈도 함수는 데이터를 정렬하는 데 사용할 원하는 변수에 따라 정보의 RANK를 만들 수 있게 해줍니다. 이를 설정할 때는 순위를 계산하는 데 사용할 열/계산식을 지정해야 합니다. 이는 OVER() 절 안에 ORDER BY 절을 포함해 수행합니다. 아래는 예시입니다:

SELECT 
    id,
    RANK() OVER(ORDER BY home_goal) AS rank
FROM match;

이번 연습에서는 평균적으로 한 경기에서 가장 많은 골을 넣는 리그가 어디인지에 따라 경기들을 순위화한 데이터셋을 만들어 보겠습니다.

이 연습은 강의의 일부입니다

SQL에서의 데이터 조작

강의 보기

연습 안내

  • leaguematch에서 리그 이름과 평균 총 득점을 SELECT 하세요.
  • 데이터베이스의 모든 리그에 대해 평균 득점의 RANK()를 계산하도록 윈도 함수를 완성하세요.
  • 홈과 어웨이 득점의 평균 합계를 기준으로 순위를 OVER 하도록 정렬하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

SELECT 
	-- Select the league name and average goals scored
	___ AS league,
    ___(___ + ___.away_goal) AS avg_goals,
    -- Rank each league over the average goals
    ___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m 
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;
코드 편집 및 실행