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

COVAR_POP

문법

MAIN

covar_pop::=
Description of covar_pop.gif follows

그림 설명


See Also:

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

 

목적

MAIN

COVAR_POP함수는 number조합의 세트의 모집단 공분산을 반환한다. 집계함수 또는 분석함수로 이용할수 있다.

이 함수는 임의의 수치형 데이터 형 또는 암묵적으로 수치형으로 변환할수 있는 비수치형 데이터를 취한다. 오라클은 수치 순위가 가장 높은 인수를 판단하여, 나머지 인수를 그 인수의 데이터형으로 암묵적으로 변환한다.


오라클 데이터 베이스는 expr1 또는 expr2가 Null인 모든 쌍을 제외한후에 (expr1,expr2) 쌍의 세트에 적용한다. 오라클은 다음과 같이 계산한다.

(SUM(expr1 * expr2) - SUM(expr2) * SUM(expr1) / n) / n

where n은 (expr1,expr2)쌍의 수. expr1 과 expr2가 모두 Null이 아닌 쌍.

함수는 Number 타입의 값을 반환한다. 만약 함수가 empty 세트를 적용하면, Null을 반환한다.

 

예제

MAIN

집계 예제

다음 예제는 sh.sales테이블에서 각 해에 대한 amount_soldquantity_sold의 모집단,표본 공분산을 계산한다.

SELECT t.calendar_month_number,
       COVAR_POP(s.amount_sold, s.quantity_sold) AS covar_pop,
       COVAR_SAMP(s.amount_sold, s.quantity_sold) AS covar_samp
FROM sales s, times t
WHERE s.time_id = t.time_id
AND t.calendar_year = 1998
GROUP BY t.calendar_month_number;

CALENDAR_MONTH_NUMBER  COVAR_POP COVAR_SAMP
--------------------- ---------- ----------
                    1 5437.68586 5437.88704
                    2 5923.72544 5923.99139
                    3 6040.11777 6040.38623
                    4 5946.67897 5946.92754
                    5 5986.22483  5986.4463
                    6 5726.79371 5727.05703
                    7 5491.65269  5491.9239
                    8 5672.40362 5672.66882
                    9 5741.53626 5741.80025
                   10  5050.5683 5050.78195
                   11 5256.50553 5256.69145
                   12  5411.2053 5411.37709

분석 예제

다음 예제는 schema oe에서 list_price와 Min_price의 누적 모집단 분산과 누적 표본 분산을 계산한다.

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
. . .