Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

MEDIAN

문법

MAIN

median::=
Description of median.gif follows

그림 설명


참 조 :

"Analytic Functions " for information on syntax, semantics, and restrictions

목적

MAIN

MEDIAN함수는 연속된 분산 모델을 가정한 역 분포 함수이다. 이 함수는 수치 또는 일자값을 취하고, 중앙값 또는 값의 정렬후에 중앙값이 보간된 값을 반환한다. Null값들은 계산시 무시된다.

이 함수는 인수로써 수치 데이터형 또는 암묵적으로 수치 데이터형으로 변환 가능한 비수치데이터형을 취한다. 만약 epr이 지정되었으면, 이 함수는 인수의 수치형과 같은 데이터형을 반환한다. 만약 OVER구문을 지정했다면, 오라클 데이터베이스는 가장 높은 수치 순위를 판단하고, 나머지 인수를 그 데이터형에 암묵적으로 변환하고, 그 데이터형을 반환한다.

MEDIAN함수의 결과는 처음 순서 행에 의해 계산된다. 그룹내에서 행의 수 N을 이용하여서, 오라클은 식 RN = (1 + (0.5*(N-1))을 이용하여 행 번호(RN)를 계산한다. 집계 함수의 최종 결과는 행번호 CRN=CEILING(RN)과 FRN=FLOOR(RN)으로 값들 사이의 선형 보간에 의해 계산된다.

분석 함수로써 MEDIAN함수를 이용할 수 있다. OVER구문에서는 단지 query_partiton_clause만을 지정할 수 있다. 각 행에 대해서 각 파티션 안에서 값사이의 중앙값에 해당하는 값을 반환한다.

 

최종결과는 다음과 같다.

if (CRN = FRN = RN) then
      (value of expression from row at RN)
   else
      (CRN - RN) * (value of expression for row at FRN) +
      (RN - FRN) * (value of expression for row at CRN)

분석 함수로써 MEDIAN함수를 이용할 수 있다. OVER구문에서는 단지 query_partiton_clause만을 지정할 수 있다. 각 행에 대해서 각 파티션 안에서 값사이의 중앙값에 해당하는 값을 반환한다.

이 함수와 다음 함수를 비교하자.

예제

MAIN

다음 예제는 hr.employee 테이블에서 각 부서에 대해 중앙값 급여를 반환한다.

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

DEPARTMENT_ID MEDIAN(SALARY)
------------- --------------
           10           4400
           20           9500
           30           2850
           40           6500
           50           3100
           60           4800
           70          10000
           80           8900
           90          17000
          100           8000
          110          10150
                        7000