All thing of the world!

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

IT/Oracle DBMS

Oracle APPROX_PERCENTILE 설명 : 오라클 함수

WorldSeeker 2021. 10. 15. 10:47

* 주의 : 본 함수는 Oracle Database 12C R2 이상 사용가능함

 

1. 함수의 목적

    Oracle APPROX_PERCENTILE은 Group by로 지정된 컬럼의 개략적인 백분위수 집계 값을 반환한다.

    (개략적이라고는 하나 거의 100% 맞다)

 

   * approximate query를 위한 함수로, 읽는 범위가 넓은 대용량 데이터베이스를 정확도보다는 속도를 중요시하는 상황에 쓰이도록 개발되었다(속도 매우 빠름, 오차허용 범위내의 정확도). 예를 들어 BI/DW등 대용량 데이터베이스에서 집계 테이블을 별도로 만들지 않고, 바로 소스 테이블을 approximate query를 사용할 수 있다. 오라클 내장 함수 중 접두어로 [APPROX_]가 붙은 함수는 approximate query를 위한 함수이다.

 

  * 백분위수란? 

    백분위수(Percentile. 百分位數)는 크기가 있는 값들로 이뤄진 자료를 순서대로 나열했을 때 백분율로 나타낸 특정 위치의 값을 이르는 용어

 

2. 샘플을 통한 개념 퀵뷰

 

3. 사용방법 



4. 함수 PARAMETER 설명
 
[expr]

null 혹은 0~1사이의 백분위수 값을 지정한다. 지정형식이 맞지 않으면 입력된 값이 무시된다.

 

[DETERMINSTIC]

DETERMINISTIC을 지정하면 이 함수는 deterministic approximate percentile 정보를 리턴한다. 이 경우 expr은 숫자 값 또는 숫자 값으로 변환할 수 있는 값이여야 한다.

생략하면 nondeterministic approximate percentile 정보를 리턴한다. 이 경우 expr은 숫자 값 또는 datetime 혹은 숫자나 datetime으로 변환할 수 있는 값이여야 한다.

 

 

[DESC, ASC]

순서대로 혹은 역순으로 할 것이냐를 지정

 

[ERROR_RATE, CONFIDENCE]

생성된 DETAIL 정보의 백분위수 정확도를 알 수 있다. 지정하면 0에서 1까지의 십진수 값을 반환합니다. 

ERRER_RATE를 지정하면 평가된 백분위수의 오류율을 알 수 있다.

CONFIDENCE를 지정하면 ERROR_RATE를 사용했을 반환하는 오류율의 신뢰도를 알 수 있다.  

 

5. 다양한 샘플표현

 

 1) 상기 샘플쿽뷰 쿼리에서 계산된 대략적인 25번째 백분위수 급여에 대한 오류율을 반환.

 2) 상기 샘플퀵뷰 쿼리에서 계산된 오류율에 대한 신뢰 수준을 반환.

 3) 다음 쿼리는 hr.employees 테이블의 각 부서에 대한 대략적인(nondetermistic) 25번째 백분위수, 50번째 백분위수 및 75번째 백분위수 급여를 오픔차순으로 정렬하여 반환. 

 

끝.

 

Comments