-
윈도우 함수 사용 옵션
- 기준
- ROWS BETWEEN ~ : 행 번호 기준
- RANGE BETWEEN ~ : 행의 데이터 값 기준
- 어떤 컬럼의 데이터 값인지는 앞 order by에 붙은 컬럼을 기준으로 한다
- 범위
- UNBOUNDED : 범위 미지정
- UNBOUNDED PRECEDING이면 맨 위
- UNBOUNDED FOLLOWING이면 맨 아래
- CURRENT ROW : 현재 행
- n PRECEDING : N만큼 위로
- ROWS BETWEEN 5 PRECEDING : 5행만큼 위로
- RANGE BETWEEN 5 PRECEDING : 기준 데이터 값에서 행 위로 5만큼 값 차이
- n FOLLOWING : N만큼 아래로
-
순위 함수
- RANK()
- DENSE_RANK()
- ROW_NUMBER()
-
집계 함수
- SUM(컬럼명)
- MAX(컬럼명)
- MIN(컬럼명)
- AVG(컬럼명)
- COUNT(컬럼명 or *)
-
행 순서 함수
- FIRST_VALUE(컬럼명) : 파티션 별 가장 선두 데이터
- LAST_VALUE(컬럼명) : 파티션 별 가장 끝 데이터
- LAG(컬럼명, 숫자) : 파티션 별 “숫자”만큼 앞선 데이터
- LEAD(컬럼명, 숫자) : 파티션 별 “숫자”만큼 뒤에 있는 데이터
-
비율 함수
- RATIO_TO_REPORT(컬럼명) : 파티션 별 합계에서 차지하는 비율
- PERCENT_RANK() : 파티션에서 맨 위 끝 행을 0, 맨 아래 끝 행을 1로 놓을 때 현재 행 백분위 순위 값
- (RANK() - 1) / (COUNT() -1)
- CLIME_DIST() : 해당 파티션에서 누적 백분율 구하는 함수
- COUNT() OVER(RANGE UNBOUNDED PRECEDING) / COUNT() OVER()
- OVER 안에 값이 들어가면 DEFAULT 옵션 발동(RANGE UNBOUNDED PRECEDING)
- NTILE(값) : 주어진 값만큼 파티션 안의 데이터를 나누고 나눠진 그룹 번호를 부여