시작하기무료로 시작하기

여기서 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 ___;
코드 편집 및 실행