수색…


값 집합의 중앙값 계산

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


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow