학생마다 결제일 순서로 금액을 누적한 다음 결과를 얻으려고 한다. ( … | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 7회
학생마다 결제일 순서로 금액을 누적한 다음 결과를 얻으려고 한다. ( ㉠ )에 들어갈 구문으로 옳은 것은?

[수강결제]

학생번호결제일금액
12026-03-02100
22026-03-03200
12026-03-05150
22026-03-0750
12026-03-09120
SELECT 학생번호, 결제일,
       SUM(금액) OVER (( ㉠ )) AS 누적액
  FROM 수강결제
 ORDER BY 학생번호, 결제일;
학생번호결제일누적액
12026-03-02100
12026-03-05250
12026-03-09370
22026-03-03200
22026-03-07250
1
PARTITION BY 학생번호
2
PARTITION BY 결제일
3
ORDER BY 학생번호, 결제일
4
PARTITION BY 학생번호 ORDER BY 결제일
해설

학생번호가 바뀔 때마다 누적액이 처음부터 다시 쌓이고 결제일 순으로 늘어나므로 PARTITION BY 학생번호 와 ORDER BY 결제일 이 함께 있어야 한다.

학생 1 은 100·250·370, 학생 2 는 200·250 으로 파티션 안에서 현재 행까지 더한다.

  • ORDER BY 학생번호, 결제일 만 주면 파티션이 없어 학생 2 의 첫 값이 570 으로 이어진다.
  • PARTITION BY 학생번호 만 주면 누적이 아니라 학생별 합계 370·250 이 모든 행에 나온다.
  • PARTITION BY 결제일 은 날짜마다 파티션이 따로 생겨 각 행의 금액만 나온다.

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

이어서 풀어보기

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