SQL/분석함수

[SQL]분석함수(analytic function)_분포함수(PERCENTILE_CONT, PERCENTILE_DISC, MEDIAN)

한기리 2020. 9. 19. 20:37
728x90
320x100

분포 함수

 

* 분포함수분포 모형에 따른 분포 값을 반환한다.

 

| PERCENTILE_CONT 함수

PERCENTILE_CONT 함수연속 분포 모델에서 expr에 지정한 백분위 값에 해당하는 값을 반환한다. expr은 0 ~ 1의 범위를 지정할 수 있다.

PERCENTILE_CONT(expr) WITHIN GROUP(ORDER BY expr [DESC | ASC])[OVER(query_partition_clause)]

 

ex )

SELECT job, ename, sal
    , PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY sal) OVER(PARTITION BY job) AS c1
 FROM emp
WHERE deptno = 30
ORDER BY 1, 3, empno;



| PERCENTILE_DISC 함수

PERCENTILE_DISC 함수이산 분포 모델에서 expr에 지정한 백분위 값에 해당하는 값을 반환한다. expr은 0 ~ 1의 범위를 지정할 수 있다.

PERCENTILE_DISC(expr) WITHIN GROUP(ORDER BY expr [DESC | ASC])[OVER(query_partition_clause)]

 

ex )

SELECT job, ename, sal
    , PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY sal) OVER(PARTITION BY job) AS c1
 FROM emp
WHERE deptno = 30
ORDER BY 1, 3, empno;



| MEDIAN 함수

MEDIAN 함수연속 분포 모형을 가정한 중앙값을 반환한다. PERCENTILE_CONT(0.5) 표현식과 결과가 동일하다.

MEDIAN(expr)[OVER(query_partition_clause)]

 

ex )

SELECT job, sal, MEDIAN(sal) OVER(PARTITION BY job) AS c1
 FROM emp
WHERE deptno = 30
ORDER BY 1, 2;

 

728x90
320x100