정보처리기사 실기SQLSQL - 윈도우 함수난이도 5SHORT_ANSWER

정보처리기사 실기 SQL - 윈도우 함수 기출문제 #272

문제

다음 [점수] 테이블에서 SQL문을 실행했을 때, 이름이 '박'인 행의 rn 값을 쓰시오.

이름과목점수
수학85
수학90
수학85
영어90
영어95
SQL
SELECT 이름, 과목, ROW_NUMBER() OVER (PARTITION BY 과목 ORDER BY 점수 DESC, 이름) AS rn FROM 점수;

정답

3

3

해설

ROW_NUMBER()는 각 파티션 내에서 고유한 순번을 부여합니다. 1) PARTITION BY 과목으로 과목별로 그룹을 나눕니다. 2) ORDER BY 점수 DESC, 이름으로 점수 내림차순 후 이름 오름차순으로 정렬합니다. 3) 수학 과목에서 정렬 결과: 이(90점)=1위, 김(85점)=2위, 박(85점)=3위가 됩니다. 4) 김과 박은 동점이지만 이름 오름차순 정렬로 김이 박보다 앞서므로 박의 rn값은 3입니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.