환자별로 투약일 순 누적 용량을 [결과]처럼 구하려고 한다. ㉠에 들어… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 6회
환자별로 투약일 순 누적 용량을 [결과]처럼 구하려고 한다. ㉠에 들어갈 구문으로 옳은 것은?

[투약]

환자번호투약일용량
12026-03-012
12026-03-023
12026-03-041
22026-03-014
22026-03-032
SELECT 환자번호, 투약일, 용량,
       SUM(용량) OVER ( ㉠ ) AS 누적
  FROM 투약
 ORDER BY 환자번호, 투약일;

[결과]

환자번호투약일용량누적
12026-03-0122
12026-03-0235
12026-03-0416
22026-03-0144
22026-03-0326
1
ORDER BY 용량
2
PARTITION BY 환자번호
3
ORDER BY 환자번호, 투약일
4
PARTITION BY 환자번호 ORDER BY 투약일
해설

환자가 바뀔 때 누적을 다시 시작하려면 PARTITION BY 환자번호, 날짜 순으로 더해 가려면 ORDER BY 투약일 이 함께 있어야 한다.

환자 1 은 2, 5, 6 으로, 환자 2 는 다시 4, 6 으로 누적된다.

  • 파티션 없이 정렬만 하면 환자 2 행이 10, 12 로 이어서 누적된다.
  • PARTITION BY 만 쓰면 모든 행이 환자별 전체 합을 받는다.
  • 용량만으로 정렬하면 환자 구분 없이 용량 순으로 누적되고 같은 용량은 같은 값을 받는다.

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

이어서 풀어보기

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