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

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

문제

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

이름과목점수
수학85
수학90
수학75
영어95
영어80
SQL
SELECT 이름, 과목, 점수, SUM(점수) OVER (PARTITION BY 과목 ORDER BY 점수 DESC ROWS UNBOUNDED PRECEDING) AS cum_sum FROM 점수;

정답

250

250

해설

PARTITION BY 과목으로 수학/영어 과목별로 분할되고, ORDER BY 점수 DESC로 점수 내림차순 정렬된다. 수학 과목에서는 이(90) → 김(85) → 박(75) 순으로 정렬되며, ROWS UNBOUNDED PRECEDING으로 첫 번째 행부터 현재 행까지의 누적합을 구한다. 박의 cum_sum = 90 + 85 + 75 = 250이다.

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

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