다음 SQL로 계산한 행별 누적합 결과는?
T 테이블
| SEQ | AMOUNT |
|---|---|
| 1 | 1000 |
| 2 | 300 |
| 3 | 1000 |
SELECT SEQ, SUM(AMOUNT) OVER (ORDER BY SEQ ROWS UNBOUNDED PRECEDING) AS 누적합 FROM T;
정답 1번
`ROWS UNBOUNDED PRECEDING`은 정렬된 파티션의 첫 행부터 현재 행까지를 물리적 윈도 프레임으로 잡는다. SEQ 1에서는 1000, SEQ 2에서는 1000+300=1300, SEQ 3에서는 1000+300+1000=2300이 계산된다. GROUP BY처럼 행을 하나로 합치지 않고 원래 세 행을 유지하면서 각 행에 누적 결과를 붙이므로 결과 순서는 1000, 1300, 2300이다.
콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-21