COUNT(*) OVER() AS ALL_CNT
- FROM절 : 대상테이블 선택
- WHERE절(생략가능) : 1번의 대상 중에 조회할 데이터를 선택(조인도 수행)
- GROUP BY(생략가능 : 2번까지 수행결과 그룹화
- HAVING절(생략가능) : 3번까지 수행결과중 최종 조회데이터 선택
SUM(SUM(T1.ORD_AMT)) OVER(ORDER BY TO_CHAR(T1.ORD_DT,'YYYYMM'))
SUM(SUM(T1.ORD_AMT)) OVER(PARTITION BY T1.CUS_ID) AS BY_CUS_AMT
SUM(SUM(T1.ORD_AMT)) OVER(PARTITION BY T1.CUS_ID
ORDER BY TO_CHAR(T1.ORD_DT,'YYYYMM')) BY_CUS_ORD_YM_SUM
ROW_NUMBER() OVER(PARTITION BY TO_CHAR(T1.ORD_DT, 'YYYYMM') ORDER BY SUM(T1.ORD_AMT) DESC) BY_YM_RANK
- GROUP BY 는 CUS_ID로되어있는상태
- 자신보다 주문금액이 높은 이전데이터 조회
LAG(T1.CUS_ID, 1) OVER(ORDER BY SUM(T1.ORD_AMT) DESC) LAG_1- 자신보다 주문금액이 낮은 다음 데이터를 조회(DESC이기때문)
LEAD(T1.CUS_ID, 1) OVER(ORDER BY SUM(T1.ORD_AMT) DESC) LEAD_1