All thing of the world!

Oracle CUME_DIST 설명 : 오라클 함수 본문

IT/Oracle DBMS

Oracle CUME_DIST 설명 : 오라클 함수

WorldSeeker 2021. 3. 31. 09:06

1. 함수의 목적 

    Oracle CUME_DIST는 누적분포(the cumulative distribution)를 구한다.
  
  * 누적분포란?
    어떤 확률분포에서 확률변수가 어떤 특정한 값보다 같거나 작을 확률을 말함(by WIKI)

2. 샘플을 통한 개념 퀵뷰

purchasing division(like  'PU%')의 급여 백분위 수를 구한다.

SELECT job_id, last_name, salary, CUME_DIST()
OVER (PARTITION BY job_id ORDER BY salary) AS cume_dist
FROM employees
WHERE job_id LIKE 'PU%'
ORDER BY job_id, last_name, salary, cume_dist;

JOB_ID LAST_NAME SALARY CUME_DIST
---------- ------------------------- ---------- ----------
PU_CLERK Baida           2900   .8
PU_CLERK Colmenares 2500   .2
PU_CLERK Himuro        2600   .4
PU_CLERK Khoo            3100    1
PU_CLERK Tobias          2800   .6
PU_MAN   Raphaely    11000    1

3. 사용방법  

1) 집계용(aggregate)


2) 분석용(analytic)


4. 함수 PARAMETER 설명

함수 결과값은  0 < 결과값 <= 1의 range를 가진다.

[expr]
숫자형 데이터를 입력값을 가지며, 문자라도 숫자로 변경이 가능한 문자는 내부적으로 변환하여 입력된다.

5. 다양한 샘플표현

example1)  직원 중 급여가 $ 15,500이고 수수료율이 5 % 인 가상 사원의 누적 분포를 계산한다.

SELECT CUME_DIST(15500, .05) WITHIN GROUP
(ORDER BY salary, commission_pct) "Cume-Dist of 15500"
FROM employees;

Cume-Dist of 15500
------------------
.972222222

Comments