All thing of the world!

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

IT/Oracle DBMS

Oracle MEDIAN 설명 : 오라클 함수

WorldSeeker 2021. 4. 2. 21:03

1. 함수의 목적 

   Oracle MEDIAN은
 연속 분포 모델을 가정한 역분포 함수로써, 숫자 또는 날짜 / 시간 값을 사용하고 값이 정렬되면 중간 값이거나 중간 값이 될 interpolated(보간 )값을 반환한다.
  Null은 계산에서 무시된다.

참고) 비슷한 함수로 PERCENTILE_CONT와 PERCENTILE_DISC가 있다
-  PERCENTILE_CONT: 주어진 백분위 수에 대해 보간법을 통해, 주어진 백분위 수에 해당하는 값을 반환한다. MEDIAN은 PERCENTILE_CONT의 특수한 경우이며 백분위 값 기본값은 0.5입니다.
- PERCENTILE_DISC : 보간없이 주어진 백분위 수 값을 찾는 데 유용하다.


2. 샘플을 통한 개념 퀵뷰

다음 쿼리는 hr.employees 테이블의 각 부서에 대한 평균 급여를 반환한다.

SELECT department_id, MEDIAN(salary)
FROM employees
GROUP BY department_id
ORDER BY department_id;


3. 사용방법


4. 함수 PARAMETER 설명

[expr]
중간값을 구할 컬럼을 입력하는 입력 파라미터이다.
숫자형 데이터나 비숫자형이라도 숫자형으로 변경이 가능한 데이터라면 입력이 가능하다.
expr만 지정하면 함수는 인수의 숫자 데이터 유형과 동일한 데이터 유형을 반환한다.
OVER 절을 지정하면 Oracle Database는 가장 높은 우선 순위를 갖는 인수를 결정하고 나머지 인수를 해당 데이터 유형으로 암시적으로 변환하며 해당 데이터 유형을 반환한다.


5. 다양한 샘플표현

example1) over를 사용한 샘플로, 각 매니저별 직원의 급여 평균값을 구한다.

SELECT manager_id, employee_id, salary,
MEDIAN(salary) OVER (PARTITION BY manager_id) "Median by Mgr"
FROM employees
WHERE department_id > 60
ORDER BY manager_id, employee_id;

 

Comments