VAR_POP¶
그룹에 있는 NULL 이외의 레코드의 모집단 분산을 반환합니다. 그룹 내의 모든 레코드가 NULL인 경우, NULL이 반환됩니다.
- 별칭:
구문¶
집계 함수
VAR_POP( [ DISTINCT ] <expr1> )
윈도우 함수
VAR_POP( [ DISTINCT ] <expr1> ) OVER (
[ PARTITION BY <expr2> ]
[ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ]
)
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);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 | +---+---------------+---------------+