Oracle Database
통계 함수
수색…
값 집합의 중앙값 계산
Oracle 10g 이후의 MEDIAN 기능 은 사용하기 쉬운 집계 함수입니다.
SELECT MEDIAN(SAL)
FROM EMP
값의 중앙값을 반환합니다.
DATETIME
값에서도 작동합니다.
MEDIAN의 결과는 먼저 행을 정렬하여 계산됩니다. 그룹의 행 수 N을 사용하여 Oracle은 수식 RN = (1 + (0.5 * (N-1))을 사용하여 관심있는 행 번호 (RN)를 계산합니다. 집계 함수의 최종 결과는 선형 행 번호 CRN = CEILING (RN) 및 FRN = FLOOR (RN)에있는 행의 값 간 보간.
Oracle 9i부터는 백분위 값 기본값이 0.5 인 MEDIAN 함수와 똑같이 작동하는 PERCENTILE_CONT 를 사용할 수 있습니다
SELECT PERCENTILE_CONT(.5) WITHIN GROUP(order by SAL)
FROM EMP
변화
분산 은 설정된 숫자가 평균에서 얼마나 멀리 퍼져 나가는 지 측정 합니다. 실용적인 관점에서 볼 때, 평균 (중심)에서 제곱 된 거리입니다 - 더 먼 지점 일수록 더 큰 숫자입니다.
다음 예제는 급여 값의 분산을 반환합니다.
SELECT name, salary, VARIANCE(salary) "Variance"
FROM employees
성병
STDDEV는 숫자 세트 인 expr의 샘플 표준 편차를 리턴합니다. 집계 및 분석 함수로 사용할 수 있습니다. STDDEV_SAMP는 널 (NULL)을 리턴하는 반면 STDDEV는 입력 데이터 행이 1 개일 때 0을 리턴한다는 점에서 STDDEV_SAMP와 다릅니다.
Oracle Database는 표준 편차를 VARIANCE 집계 함수에 대해 정의 된 분산의 제곱근으로 계산합니다.
이 함수는 숫자 데이터 유형 또는 암시 적으로 숫자 데이터 유형으로 변환 할 수있는 숫자가 아닌 데이터 유형을 인수로 취합니다. 이 함수는 인수의 숫자 데이터 유형과 동일한 데이터 유형을 리턴합니다.
DISTINCT를 지정하면 analytic_clause의 query_partition_clause 만 지정할 수 있습니다. order_by_clause 및 windowing_clause는 허용되지 않습니다.
다음 예는 샘플 hr.employees 테이블에있는 급여의 표준 편차를 반환합니다.
여기서 hr은 스키마이고 employees는 테이블 이름입니다.
SELECT STDDEV(salary) "Deviation"
FROM employees;
Deviation
----------
3909.36575
다음 예제의 쿼리는 hire_date로 정렬 된 샘플 테이블 hr.employees의 Department 80에있는 급여의 누적 표준 편차를 반환합니다.
SELECT last_name, salary,
STDDEV(salary) OVER (ORDER BY hire_date) "StdDev"
FROM employees
WHERE department_id = 30;
LAST_NAME SALARY StdDev
------------------------- ---------- ----------
Raphaely 11000 0
Khoo 3100 5586.14357
Tobias 2800 4650.0896