Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

VAR_POP 함수, VARIANCE 함수

설명

VAR_POP 함수와 VARIANCE 함수는 동일하며, 모든 행에 대한 연산식 값들에 대한 분산, 즉 모분산을 반환한다. 분모는 모든 행의 개수이다. 하나의 연산식 expression만 인자로 지정되며, 연산식 앞에 DISTINCT 또는 UNIQUE 키워드를 포함시키면 연산식 값 중 중복을 제거한 후, 모분산을 구하고, 키워드가 생략되거나 ALL인 경우에는 모든 값에 대해 모분산을 구한다.

리턴 값은 DOUBLE 타입이며, 결과 계산에 사용할 행이 없으면 NULL을 반환한다.

다음은 함수에 적용된 공식이다.

VAR_POP = (1/N) * SUM( { xI - AVG(x) }2 )

  • SUM : 합계
  • AVG : 평균

주의 CUBRID 2008 R3.1 이하 버전에서 VARIANCE 함수는 VAR_SAMP 함수와 같은 기능을 수행했다.

구문

VAR_POP( [ DISTINCT | UNIQUE | ALL] expression )

  • expression : 수치를 반환하는 하나의 연산식을 지정한다.
  • ALL : 모든 값에 대해 모분산을 구하기 위해 사용되며, 기본값이다.
  • DISTINCT 또는 UNIQUE : 중복이 제거된 유일한 값에 대해서만 모분산을 구하기 위해 사용된다.
예제

CREATE TABLE test_table (d double);

INSERT INTO test_table VALUES(78), (63.65), (230.54), (32), (17.2), (195.7689), (57.57);

SELECT VAR_POP(d) FROM test_table;

                var_pop(d)

==========================

    5.886658366433878e+003

 

SELECT VAR_POP(POWER(d,2)+d*2+1) FROM test_table;

  var_pop( power(d, 2)+d*2+1)

=============================

       3.983875901862495e+008

 

TRUNCATE TABLE test_table;

SELECT VAR_POP(d) FROM test_table;

                var_pop(d)

==========================

                      NULL