다음 SCORE_LOG 테이블과 SQL을 보고 rolling_score 열에 출력되는 값을 위에서부터 순서대로 쓰시오.
| seq | score |
|---|---|
| 1 | 10 |
| 2 | 20 |
| 3 | 20 |
| 4 | 5 |
SELECT SUM(score) OVER (
ORDER BY seq
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
) AS rolling_score
FROM SCORE_LOG
ORDER BY seq;모범답안
10 30 40 25
풀이와 판단 근거
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW는 현재 행과 물리적으로 바로 앞선 한 행만 윈도 프레임에 포함한다. 첫 행은 앞선 행이 없어 10, 두 번째는 10+20=30, 세 번째는 20+20=40, 네 번째는 20+5=25가 된다.
처음부터 현재 행까지 누적하는 UNBOUNDED PRECEDING과 다르므로 세 번째 결과는 50이 아니다.
자주 틀리는 지점
- 처음부터 누적해 10·30·50·55로 계산
- 현재 행만 합산
- 출력 순서를 역순으로 작성
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.