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

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

문제

다음 [성적] 테이블에서 SQL문을 실행했을 때, 학번이 '102'인 학생의 두 번째 과목(수학)에 대한 running_sum 값을 쓰시오.

학번과목점수
101수학85
102수학90
103수학78
101영어92
102영어88
SQL
SELECT 학번, 과목, 점수, SUM(점수) OVER (PARTITION BY 학번 ORDER BY 과목) AS running_sum FROM 성적 ORDER BY 학번, 과목;

정답

178

178

해설

SUM() OVER 윈도우 함수는 PARTITION BY로 학번별로 구분하고, ORDER BY 과목으로 정렬한다. ORDER BY 과목에서는 한글 가나다순으로 정렬되므로 '영어'가 '수학'보다 먼저 나온다. 따라서 학번 102의 경우 '영어'(88점)가 첫 번째, '수학'(90점)이 두 번째가 된다. '수학'의 running_sum은 '영어'(88점) + '수학'(90점) = 178점이 된다.

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

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