다음 SQL 의 실행 결과로 옳은 것은?[배송]기사배송일건수K12026… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 2회
다음 SQL 의 실행 결과로 옳은 것은?[배송]
| 기사 | 배송일 | 건수 |
|---|---|---|
| K1 | 2026-04-01 | 5 |
| K1 | 2026-04-02 | 3 |
| K1 | 2026-04-03 | 4 |
| K2 | 2026-04-01 | 6 |
| K2 | 2026-04-02 | 2 |
SELECT 기사, 배송일, 건수,
SUM(건수) OVER (PARTITION BY 기사
ORDER BY 배송일) AS 누적
FROM 배송
ORDER BY 기사, 배송일;1
| 기사 | 배송일 | 건수 | 누적 |
|---|---|---|---|
| K1 | 2026-04-01 | 5 | 5 |
| K1 | 2026-04-02 | 3 | 8 |
| K1 | 2026-04-03 | 4 | 12 |
| K2 | 2026-04-01 | 6 | 18 |
| K2 | 2026-04-02 | 2 | 20 |
2
| 기사 | 배송일 | 건수 | 누적 |
|---|---|---|---|
| K1 | 2026-04-01 | 5 | 12 |
| K1 | 2026-04-02 | 3 | 12 |
| K1 | 2026-04-03 | 4 | 12 |
| K2 | 2026-04-01 | 6 | 8 |
| K2 | 2026-04-02 | 2 | 8 |
3
| 기사 | 배송일 | 건수 | 누적 |
|---|---|---|---|
| K1 | 2026-04-01 | 5 | 5 |
| K1 | 2026-04-02 | 3 | 8 |
| K1 | 2026-04-03 | 4 | 12 |
| K2 | 2026-04-01 | 6 | 6 |
| K2 | 2026-04-02 | 2 | 8 |
4
| 기사 | 배송일 | 건수 | 누적 |
|---|---|---|---|
| K1 | 2026-04-01 | 5 | 12 |
| K1 | 2026-04-02 | 3 | 7 |
| K1 | 2026-04-03 | 4 | 4 |
| K2 | 2026-04-01 | 6 | 8 |
| K2 | 2026-04-02 | 2 | 2 |
해설
PARTITION BY 기사로 기사마다 따로, ORDER BY 배송일 순으로 처음부터 현재 행까지 더하는 누적 합이라 K1은 5·8·12, K2는 6·8이다.
ORDER BY가 있으면 기본 프레임이 파티션 처음부터 현재 행까지여서 파티션이 바뀌는 K2 첫 행에서 다시 시작한다.
- 18·20으로 이어지는 표는 PARTITION BY를 무시하고 전체를 누적한 것이다.
- 12·8이 반복되는 표는 ORDER BY 없는 파티션 전체 합이다.
- 12·7·4로 줄어드는 표는 배송일 역순으로 누적한 것이다.
오류나 개정된 내용이 보이면 알려주세요