다음 결과를 얻기 위해 ( ㉠ )에 들어갈 내용으로 옳은 것은?[대출]… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 5회
다음 결과를 얻기 위해 ( ㉠ )에 들어갈 내용으로 옳은 것은?

[대출]

대출번호회원번호대출일연체료
1102026-03-02300
2202026-03-03500
3102026-03-05200
4202026-03-080
5102026-03-09400
6302026-03-10100
SELECT 회원번호, 대출일, 연체료,
       SUM(연체료) OVER ( ㉠ ) AS 누적
  FROM 대출
 ORDER BY 회원번호, 대출일;

[결과]

회원번호대출일연체료누적
102026-03-02300300
102026-03-05200500
102026-03-09400900
202026-03-03500500
202026-03-080500
302026-03-10100100
1
PARTITION BY 회원번호 ORDER BY 대출일
2
PARTITION BY 회원번호
3
ORDER BY 대출일
4
PARTITION BY 대출일
해설

결과의 누적 값이 회원이 바뀔 때마다 새로 시작하고 대출일 순으로 쌓이므로 PARTITION BY 회원번호 ORDER BY 대출일 이 정답이다.

ORDER BY 가 있으면 기본 프레임이 파티션 처음부터 현재 행까지라 회원번호 10 은 300·500·900, 연체료 0 이 있는 20 은 500·500 이 된다.

  • ORDER BY 대출일 만 쓰면 회원 구분 없이 전체 일자 순으로 누적된다.
  • PARTITION BY 회원번호 만 쓰면 회원별 총합 하나가 모든 행에 반복된다.
  • PARTITION BY 대출일 은 대출일이 모두 달라 각 행의 연체료가 그대로 나온다.

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

이어서 풀어보기

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