본문 바로가기
오라클 게시판/오라클 함수

[오라클 함수] COVAR_POP 함수

by 기서무나구물 2018. 11. 14.

포스팅 목차

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

    o COVAR_POP

     


    문법

    covar_pop::=


    목적

    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을 반환한다.


    예제

    • 집계함수 예제

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

    Oracle Program
    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;

     

    Results
    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의 누적 모집단 분산과 누적 표본 분산을 계산한다.

    Oracle Program
    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;

     

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

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

      --------------------------------------------  

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크
    반응형

    댓글