● 그룹내 비율 함수
RATIO_TO_REPORT, PERCENT_RANK, CUME_DIST, NTILE
특이점은 CUME_DIST만 동일 순서이면 뒤 행의 함수 결과 값을 기준으로 한다.
누적백분율이라서 그런가...
아래 결과값에서 MARTIN과 TURNER의 CUME_DIST 값이 .67이 아니고 .83 이다.
SELECT
ENAME
,SAL
,ROUND( RATIO_TO_REPORT (SAL) OVER () ,2 ) AS RTR -- 전체 sum(컬럼)값에 대한 행별 컬럼 값의 백분율. 결과값은 > 0 & <=1 범위
,ROUND( PERCENT_RANK() OVER (ORDER BY SAL ) ,2) AS PR -- 파티션별 윈도우의 값이 아닌 행의 순서별 백분열. 결과값은 >=0 & <=1 범위
,ROUND( CUME_DIST() OVER(ORDER BY SAL) ,2) AS CD -- 파티션별 윈도우 누적 백분열을 구한다. 결과값은 > 0 & <=1 범위
,NTILE(4) OVER (ORDER BY SAL) AS NT -- 전체 건수를 ARGUMENT값으로 N등분한 결과를 구함.
FROM EMP WHERE JOB = 'SALESMAN';
'SQLP' 카테고리의 다른 글
Barker 표기법과 IE 표기법 (2) | 2024.11.10 |
---|---|
오라클 트랜잭션 (0) | 2024.10.19 |
함수 호출에 따른 Recursive Call (0) | 2024.10.14 |
오라클 PIVOT UNPIVOT (0) | 2024.10.14 |
야간 배치 INSERT (1) | 2024.10.13 |