카테고리:

집계 함수 (일반) , 윈도우 함수 (일반, 윈도우 프레임)

VAR_POP

그룹에 있는 NULL 이외의 레코드의 모집단 분산을 반환합니다. 그룹 내의 모든 레코드가 NULL인 경우, NULL이 반환됩니다.

별칭:

VARIANCE_POP

구문

집계 함수

VAR_POP( [ DISTINCT ] <expr1> )
Copy

윈도우 함수

VAR_POP( [ DISTINCT ] <expr1> ) OVER (
                                     [ PARTITION BY <expr2> ]
                                     [ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ]
                                     )
Copy

window_frame 구문에 대한 자세한 내용은 윈도우 프레임 구문과 사용법 을 참조하십시오.

인자

expr1

expr1 은 숫자 데이터 타입 중 하나로 평가되어야 합니다.

expr2

분할하는 선택적 식입니다.

expr3

각 파티션 내에서 순서를 지정하는 선택적 식입니다.

반환

반환된 값의 데이터 타입은 NUMBER(<정밀도>, <스케일>) 입니다. 스케일은 처리되는 값에 따라 다릅니다.

사용법 노트

  • VARCHAR 식이 전달되면 이 함수는 암시적으로 입력을 부동 소수점 값으로 캐스팅합니다. 캐스팅을 수행할 수 없으면 오류가 반환됩니다.

  • 이 함수가 윈도우 함수(즉, OVER 절 포함)로 호출될 때:

    • OVER 절에 ORDER BY 하위 절이 포함된 경우:

      • 윈도우 프레임이 필수입니다. 윈도우 프레임이 명시적으로 지정되지 않은 경우, ORDER BY는 누적 윈도우 프레임을 의미합니다.

        RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

        구문 및 예를 포함하여 윈도우 프레임에 대한 내용은 윈도우 프레임 구문과 사용법 섹션을 참조하십시오.

        암시적 윈도우 프레임에 대한 내용은 윈도우 프레임 사용법 노트 섹션을 참조하십시오.

      • 윈도우 함수에서 DISTINCT 키워드를 사용하는 것은 금지되며 컴파일 시간 오류가 발생합니다.

이 예는 VAR_POP 함수를 사용하는 방법을 보여줍니다.

테이블을 만들고 채웁니다.

create table aggr(k int, v decimal(10,2), v2 decimal(10, 2));
insert into aggr values 
   (1, 10, null),
   (2, 10, 11), 
   (2, 20, 22), 
   (2, 25, null), 
   (2, 30, 35);
Copy

VAR_POP()을 호출하여 테이블을 쿼리합니다.

SELECT k, var_pop(v), var_pop(v2) 
    FROM aggr 
    GROUP BY k
    ORDER BY k;
+---+---------------+---------------+
| K |    VAR_POP(V) |   VAR_POP(V2) |
|---+---------------+---------------|
| 1 |  0.0000000000 |          NULL |
| 2 | 54.6875000000 | 96.2222222222 |
+---+---------------+---------------+
Copy