정보처리기사 실기SQLSQL - RANK 윈도우 동순위난이도 4SHORT_ANSWER

정보처리기사 실기 SQL - RANK 윈도우 동순위 기출문제 #1676

문제

다음 [성과] 테이블에서 SQL문을 실행했을 때, 이름이 '한솔'이고 월이 '2'인 행의 누적점수 값을 쓰시오.

이름점수
민지185
한솔190
민지275
한솔295
민지380
한솔385
SQL
SELECT 이름,, 점수, CASE WHEN 점수 >= 90 THEN 점수 + SUM(점수) OVER (PARTITION BY 이름 ORDER BYROWS BETWEEN 1 PRECEDING AND CURRENT ROW) ELSE SUM(점수) OVER (PARTITION BY 이름 ORDER BYROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) END AS 누적점수 FROM 성과 ORDER BY 이름,;

정답

280

280

해설

한솔의 2월 데이터를 단계별로 계산합니다. 1단계: 한솔 2월 점수는 95점으로 90 이상이므로 WHEN 조건을 적용합니다. 2단계: ROWS BETWEEN 1 PRECEDING AND CURRENT ROW는 이전 1행과 현재 행을 포함합니다. 3단계: 한솔의 1월 점수(90) + 2월 점수(95) = 185점 4단계: CASE 조건에 따라 현재 점수 + 윈도우 함수 결과 = 95 + 185 = 280점 따라서 한솔 2월 행의 누적점수는 280입니다.

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

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

[정보처리기사 실기] SQL - RANK 윈도우 동순위 SQL 기출 #1676 | sqldpass