다음 SQL 의 실행 결과로 옳은 것은?[일별출고]창고출고일자수량A20… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 8회
다음 SQL 의 실행 결과로 옳은 것은?

[일별출고]

창고출고일자수량
A2026-03-0110
A2026-03-0220
A2026-03-0330
A2026-03-0440
B2026-03-015
B2026-03-0215
SELECT 창고, 출고일자,
       SUM(수량) OVER (PARTITION BY 창고
                       ORDER BY 출고일자
                       ROWS BETWEEN 1 PRECEDING
                                AND 1 FOLLOWING) AS 이동합
  FROM 일별출고
 ORDER BY 창고, 출고일자;
1
창고출고일자이동합
A2026-03-0130
A2026-03-0260
A2026-03-0390
A2026-03-0470
B2026-03-0120
B2026-03-0220
2
창고출고일자이동합
A2026-03-01(null)
A2026-03-0260
A2026-03-0390
A2026-03-04(null)
B2026-03-01(null)
B2026-03-02(null)
3
창고출고일자이동합
A2026-03-0110
A2026-03-0230
A2026-03-0350
A2026-03-0470
B2026-03-015
B2026-03-0220
4
창고출고일자이동합
A2026-03-0110
A2026-03-0230
A2026-03-0360
A2026-03-04100
B2026-03-015
B2026-03-0220
해설

ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING 은 파티션 안에서 앞 행·현재 행·뒤 행을 합하며, 앞이나 뒤 행이 없으면 있는 행만 합산한다.

A 의 첫날은 10+20=30, 둘째 날 60, 셋째 날 90, 마지막 날 30+40=70 이고 B 는 두 행뿐이라 두 날 모두 5+15=20 이다.

  • 10·30·50·70 결과는 1 PRECEDING AND CURRENT ROW 프레임이다.
  • 경계 행이 NULL 인 결과는 프레임이 모자라면 NULL 이 된다고 본 경우이다.
  • 10·30·60·100 결과는 처음부터 현재 행까지의 누적합이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 8회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기