COVAR_POP
구문
COVAR_POP(expr1, expr2)
[ OVER (analytic_clause) ]
참고:
구문, 의미, 그리고 제한 사항에 대한 정보는 "Analytic Functions"에 대한 내용을 참조하세요.
목적
COVAR_POP 함수는 숫자 쌍의 집합에 대한 모집단 공분산을 반환합니다. 이 함수는 집계 또는 분석 함수로 사용할 수 있습니다.
이 함수는 숫자 데이터 유형 또는 숫자 데이터 유형으로 암시적으로 변환될 수 있는 비숫자 데이터 유형을 인수로 사용합니다. Oracle은 가장 높은 숫자 우선순위를 가진 인수를 결정하고, 나머지 인수를 해당 데이터 유형으로 암시적으로 변환하며, 해당 데이터 유형을 반환합니다.
참고:
암시적 변환에 대한 자세한 정보는 표 2-8을 참조하세요. 숫자 우선순위에 대한 정보는 Numeric Precedence를 참조하십시오.
Oracle Database는 NULL 값이 있는 모든 (expr1, expr2) 쌍을 제거한 후 함수를 (expr1, expr2) 쌍의 집합에 적용합니다. 그런 다음 Oracle은 다음과 같은 계산을 수행합니다:
(SUM(expr1 * expr2) - SUM(expr2) * SUM(expr1) / n) / n
여기서 n은 expr1 또는 expr2 중 하나라도 null이 아닌 (expr1, expr2) 쌍의 개수를 의미합니다.
이 함수의 반환 값은 NUMBER 데이터 유형입니다. 함수가 빈 집합에 적용되면 null을 반환합니다.
참고:
About SQL Expressions에서 expr의 유효한 형식과 Aggregate Functions에 대한 정보를 확인하세요.
집계 예제
다음 예제는 샘플 테이블 hr.employees를 사용하여 근무 기간 (SYSDATE - hire_date)와 급여 사이의 모집단 공분산과 표본 공분산을 계산합니다.
SELECT job_id,
COVAR_POP(SYSDATE-hire_date, salary) AS covar_pop,
COVAR_SAMP(SYSDATE-hire_date, salary) AS covar_samp
FROM employees
WHERE department_id in (50, 80)
GROUP BY job_id
ORDER BY job_id, covar_pop, covar_samp;
JOB_ID COVAR_POP COVAR_SAMP
---------- ----------- -----------
SA_MAN 660700 825875
SA_REP 579988.466 600702.34
SH_CLERK 212432.5 223613.158
ST_CLERK 176577.25 185870.789
ST_MAN 436092 545115
분석 예제
다음 예제는 샘플 스키마 oe의 제품들의 리스트 가격과 최소 가격의 누적 표본 공분산을 계산합니다.
SELECT product_id, supplier_id,
COVAR_POP(list_price, min_price)
OVER (ORDER BY product_id, supplier_id)
AS CUM_COVP,
COVAR_SAMP(list_price, min_price)
OVER (ORDER BY product_id, supplier_id)
AS CUM_COVS
FROM product_information p
WHERE category_id = 29
ORDER BY product_id, supplier_id;
PRODUCT_ID SUPPLIER_ID CUM_COVP CUM_COVS
---------- ----------- ---------- ----------
1774 103088 0
1775 103087 1473.25 2946.5
1794 103096 1702.77778 2554.16667
1825 103093 1926.25 2568.33333
2004 103086 1591.4 1989.25
2005 103086 1512.5 1815
2416 103088 1475.97959 1721.97619
. . .
출처: 오라클 레퍼런스
원문 링크: Oracle COVAR_POP 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] CUBE_TABLE - 큐브나 차원 데이터를 이차원 형식으로 반환 (0) | 2023.08.03 |
---|---|
[오라클 레퍼런스 함수] COVAR_SAMP - 숫자 쌍에 대한 표본 공분산 반환 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] COUNT - 쿼리 결과 건수 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] COSH - 하이퍼볼릭(쌍곡선)의 코사인 값 반환 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] COS - 라디안 각도를 코사인으로 변환 (0) | 2023.08.02 |
댓글