카테고리:

집계 함수 (일반) , 윈도우 함수 구문 및 사용법 (일반)

VARIANCE , VARIANCE_SAMP

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

별칭:

VAR_SAMP

구문

집계 함수

VARIANCE( [ DISTINCT ] <expr1> )
Copy

윈도우 함수

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

자세한 window_frame 구문은 윈도우 함수 구문 및 사용법 섹션을 참조하십시오.

인자

expr1

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

expr2

분할하는 식입니다.

expr3

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

반환

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

사용법 노트

  • 단일 레코드 입력의 경우, VAR_SAMP, VARIANCE, VARIANCE_SAMP 모두 NULL을 반환합니다. 이는 VAR_SAMP가 단일 레코드에 대해 NULL을 반환하고 VARIANCE가 0을 반환하는 Oracle 동작과는 다릅니다.

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

  • 이 함수가 ORDER BY 절을 포함하는 OVER 절이 있는 윈도우 함수로 호출되는 경우:

    • 윈도우 프레임이 필수입니다. 윈도우 프레임이 명시적으로 지정되지 않으면 다음과 같은 암시적 윈도우 프레임이 사용됩니다.

      RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

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

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

예는 VAR_SAMP 을 참조하십시오.