⦁ 다음의 결과가 나오도록 빈칸에 알맞은 함수를 쓰시오
[문제] 다음과 같이 월별 금액을 가진 집합에서 해당 월을 기준으로 이전 3개월간 금액 합계를 출력하는 SQL을 완성하세요.
원본 리스트
WITH t AS
(
SELECT '201601' yyyymm, 100 amt FROM dual
UNION ALL SELECT '201602', 200 FROM dual
UNION ALL SELECT '201603', 300 FROM dual
UNION ALL SELECT '201604', 400 FROM dual
UNION ALL SELECT '201605', 500 FROM dual
)
SELECT * FROM t
;
<원본테이블>
YYYYMM AMT
2016 01 100
2016 02 200
2016 03 300
2016 04 400
2016 05 500
<결과테이블>
YYYY MM AMT AMT_PRE3
2016 01 100
2016 02 200 100
2016 03 300 300
2016 04 400 600
2016 05 500 900
SELECT yyyymm
, amt
, __________(amt) OVER(ORDER BY TO_DATE(yyyymm,'yyyymm')
RANGE BETWEEN INTERVAL '3' MONTH _____________
AND INTERVAL '1' MONTH __________) amt_pre3
FROM t;
여기서 SUM,PRECEDING,FOLLOWING 이 답으로 되어있는데
MM -4 => 1,2,3월 더한 값 MM-5 => 2,3,4월 더한 값
이런 식이잖아요 그럼 '3' MONTH PRECEDING AND '1'MONTH PRECEDING 이 되어야 하는거
아닌가요? '1' MONTH FOLLOWING 이면 4월이라 칠때 1,2,3월 + 5월치 더한거라고 생각하는데..
헷갈리네요. 그리고 INTERVAL 은 뭔가요??? 답변 부탁드려요