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

【오라클(Oracle) SQL 함수】 VARIANCE 함수

by 기서무나구물 2021. 10. 24.

포스팅 목차

    VARIANCE

     


    문 법

     

    variance::=





    목 적

    VARIANCE함수는 expr의 분산을 반환한다. 집계 함수 또는 분석함수로 이용된다.

    오라클 데이터 베이스는 다음과 같이 expr의 분산을 계산한다.

    • 만약 행의 수가 expr=1인 경우에는 0
    • 만약 행의 수가 expr>1인 경우에는 VAR_SAMP

    만약 DISTINCT를 지정했다면, analytic_clause의 query_partition_clause를 지정할 수 있다. order_by_clause 과 windowing_clause은 허용하지 않는다.

    이 함수는 인수로써 임의의 수치형 데이터 또는 암묵적으로 수치형 데이터로 변환 가능한 비수치형 데이터 타입을 취한다. 이 함수는 인수의 수치형과 같은 데이터형을 반환한다.

     


    패키지 함수 비교 - Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table

     


    관련 함수

    함수명 함수내용
    STDDEV 수치형 인수 expr의 표본표준편차(sample standard deviation)를 반환한다.
    STDDEV_POP 모집단 표준 편차(Population standard deviation)를 계산하고, 모집단 분산의 제곱근 값(Square root of the population variance)을 반환한다.
    STDDEV_SAMP 누적 표본 표준편차(Cumulative sample standard deviation)를 계산하고, 표본 분산의 제곱근 값(Square root of the sample variance)을 반환한다.
    VAR_POP 수치형 변수에서 Null 값들을 제거한 후에 해당 변수의 모집단 분산(population variance)을 반환한다. 집계 함수와 분석 함수를 이용할 수 있다.
    VAR_SAMP 지정한 변수에서 null들을 제거한 후에 수치형 변수의 표본 분산(sample variance)을 반환한다. 집계 함수와 분석 함수로 이용 가능하다.
    VARIANCE expr의 분산을 반환한다.

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

     


    예 제

    집계함수 예제

    다음 예제는 exployees 테이블에서 급여의 분산을 계산한다.

    Oracle Program
    SELECT VARIANCE(salary) "Variance"
    FROM   employees;

     

    Results
      Variance
    ----------
    15283140.5

     


    분석함수(윈도우 함수) 예제

    다음 예제는 부서 아이디가 30인 부서의 정보를 입사일 순서로 정렬 후 개별 직원들의 급여를 누적하여서 누적 분산을 반환한다.

    Oracle Program
    SELECT last_name, salary, 
           VARIANCE(salary) OVER (ORDER BY hire_date) "Variance"
    FROM   employees 
    WHERE  department_id = 30;

     

    Results
    LAST_NAME           SALARY   Variance
    --------------- ---------- ----------
    Raphaely             11000          0 
    Khoo                  3100   31205000 (11000,3100의 분산)
    Tobias                2800 21623333.3 (11000,3100,2800의 분산)
    Baida                 2900 16283333.3 (11000,3100,2800,2900의 분산)
    Himuro                2600   13317000 (11000,3100,2800,2900,2600의 분산)
    Colmenares            2500   11307000 (11000,3100,2800,2900,2600,2500의 분산)

     


     


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

     

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

    댓글