1. Lära sig
  2. /
  3. Courses
  4. /
  5. SQL로 리포트 만들기

Connected

exercise

지역별 최다 메달리스트

이번 연습 문제의 목표는 지역별로 최다 메달을 보유한 선수를 보여주는 것입니다. 이 보고서를 설정하려면 각 행에 1씩 증가하는 정수를 부여하는 ROW_NUMBER() 윈도 함수가 필요해요. 첫 번째 행은 1, 두 번째 행은 2와 같은 식입니다.

이 윈도 함수의 문법은 ROW_NUMBER() OVER (PARTITION BY field ORDER BY field)입니다. 처음 함수에는 인자가 없다는 점에 유의하세요.

올바르게 설정하면 row_num = 1은 해당 지역에서 가장 많은 메달을 딴 선수를 의미합니다. 합계가 같은 선수가 여러 명일 경우, 그중 누구라도 최상위 결과로 나타날 수 있어요. 또한 HAVING이나 WHERE 절 안에서는 윈도 계산을 사용할 수 없으므로, 필터링을 위해 서브쿼리를 사용해야 합니다.

E:R Diagram을 참고하셔도 좋아요. 널 처리 문제를 피하기 위해 summer_games_clean을 사용하겠습니다.

Instruktioner 1 / 2

undefined XP
    1
    2
  • summer_games_clean, athletes, countries를 조인해 region, athlete_name, total_golds를 조회하는 쿼리를 작성하세요.
  • ROW_NUMBER()를 사용해 선수별 총 금메달 수를 기준으로 지역 내 순위를 매기는 row_num 필드를 추가하세요.