각 파티션별 행의 순서별 백분율과 현재 행보다 작거나 같은 건수에 대한 누적백분율을 구해보고자 한다!
1. PERCENT_RANK 함수
- 상대적 밴분위수를 RETURN 함
- 0~1 의 범위로 결과값이 나옴 (SQL Server 는 지원하지 x)
SELECT DEPT, NAME, SAL
,PERCENT_RANK()OVER(PARTITION BY DEPT ORDER BY SAL) AS PERCENT_RANK
FROM TABLE;
2. CUME_DIST 함수
- 현재 행보다 작거나 같은 건수에 대한 누적 백분율 나타냄
- 0~1 의 범위로 결과값이 나옴 (SQL Server 는 지원하지 x)
SELECT DEPT, NAME, SAL
,CUME_DIST()OVER(PARTITION BY DEPT ORDER BY SAL) AS CUME_DIST
FROM TABLE;
'언어 꿀Tip > SQL' 카테고리의 다른 글
10_05. Difference between timestamp (날짜,시간 차이 구하기) (0) | 2021.07.01 |
---|---|
10_04. 연속적인 log_id에 대한 시작, 끝 log_id 구해라 (Find the Start and End Number of Continuous Ranges) (0) | 2021.06.30 |
10_03. 연속적인 숫자 생성 Recursive CTE 사용 (0) | 2021.06.30 |
10_02. [mysql] moving average & rolling sum (0) | 2021.06.30 |