(주관적인 입장에서) 잘 안쓰는 함수 정리
테스트 환경 oracle 11gr2 - scott/tiger
참조: sql 전문가 가이드
1. ratio_to_report 함수
해당 컬럼을 컬럼/sum(컬럼)으로 나타냄
2. percent_rank 함수
처음과 끝을 0 과 1로 잡고 위치를 나타냄
테스트 환경 oracle 11gr2 - scott/tiger
참조: sql 전문가 가이드
1. ratio_to_report 함수
해당 컬럼을 컬럼/sum(컬럼)으로 나타냄
SELECT ENAME, SAL, ROUND(RATIO_TO_REPORT(SAL) OVER(), 2) AS R_R
FROM EMP
WHERE JOB = 'SALESMAN';
2. percent_rank 함수
처음과 끝을 0 과 1로 잡고 위치를 나타냄
SELECT DEPTNO, ENAME, SAL, PERCENT_RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) AS P_R
FROM EMP;
3. cume_dist 함수
건수의 누적 백분율이란다. 마지막값은 1이고 첫 값은 0 보다 크겠지.
SELECT DEPTNO, ENAME, SAL, CUME_DIST() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) AS CUME_DIST
3. cume_dist 함수
건수의 누적 백분율이란다. 마지막값은 1이고 첫 값은 0 보다 크겠지.
SELECT DEPTNO, ENAME, SAL, CUME_DIST() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) AS CUME_DIST
FROM EMP;
4. ntile 함수
파티션별 전체 건수를 n 등분한 결과를 구한다.
4. ntile 함수
파티션별 전체 건수를 n 등분한 결과를 구한다.
SELECT ENAME, SAL, NTILE(4) OVER (ORDER BY SAL DESC) AS QUAR_TILE
FROM EMP;