문제
다음 테이블과 SQL을 보고 사원 'KIM'의 RUNNING_TOTAL 값은?
SQLORDER_TBL: EMP_NAME | ORDER_AMT | ORDER_DATE LEE | 1000 | 2023-01-01 PARK | 1500 | 2023-01-02 KIM | 2000 | 2023-01-03 CHOI | 2500 | 2023-01-04 SELECT EMP_NAME, SUM(ORDER_AMT) OVER(ORDER BY ORDER_DATE RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS RUNNING_TOTAL FROM ORDER_TBL;
① 2000 ② 4000 ③ 4500 ④ 7000
정답
3번
해설
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW는 ORDER_DATE 기준으로 처음부터 현재 행까지의 누적합을 계산한다. KIM의 ORDER_DATE는 2023-01-03이므로 LEE(1000) + PARK(1500) + KIM(2000) = 4500이 정답이다. ① 2000은 KIM의 개별 주문액. ② 4000은 RANGE 대신 ROWS를 잘못 적용한 경우. ④ 7000은 전체 합계이다.