CUME_DIST

2024. 3. 8. 17:25DBMS/SQLQuery

반응형
SELECT ENAME, SAL, 
    COUNT(*) OVER (ORDER BY SAL) AS SALCOUNT ,--누적 순위
    COUNT(*) OVER() AS TOTAL_COUNT, --전체 카운트
    ROUND(COUNT(*) OVER(ORDER BY SAL) / COUNT(*) OVER(),2) AS "CNT/TOTALCNT"
FROM EMP;

 

 

 

 

SELECT ENAME, SAL, 
    COUNT(*) OVER (ORDER BY SAL) AS SALCOUNT ,--누적 순위
    COUNT(*) OVER() AS TOTAL_COUNT, --전체 카운트
    ROUND(COUNT(*) OVER(ORDER BY SAL) / COUNT(*) OVER(),2) AS "CNT/TOTALCNT",
    ROUND(CUME_DIST() OVER(ORDER BY SAL),2) AS CUMEDIST
FROM EMP;

 

윈도우 내에서 현재 행의 값이 정렬된 컬럼 값들 중에서 어디에 위치하는지를 나타내는 누적 분포 값을 계산 할 수 있다. 이 값은 현재 행의 값보다 작거나 같은 값의 개수를 전체 값의 개수로 나눈 비율을 나타낸다.

현재 행이 정렬된 컬럼 값들 중에서 어느 위치에 있는지를 상대적인 비율로 표현하는 함수이고 데이터의 분포를 파악하거나, 각 값이 전체 분포에서 어떤 위치에 있는지를 확인하는 데 유용하게 사용할 수 있다.

 

 

-급여가 정렬된 컬럼 값들 중에서 어느 위치에 있는지를 알고 싶을 때 `CUME_DIST` 함수를 사용할 수 있다.

반응형

'DBMS > SQLQuery' 카테고리의 다른 글

sql 절 우선순위  (0) 2024.04.13
NTILE  (1) 2024.03.08
RATIO_TO_REPORT  (0) 2024.03.08
Window Function  (0) 2024.03.08
계층쿼리에서 행의 관계파악  (0) 2024.03.07