VARIANCE, VARIANCE_SAMP
VARIANCE, VARIANCE_SAMP (표본 분산)
그룹 안의 NULL이 아닌 레코드들의 표본 분산(sample variance)을 반환해요. 그룹 안의 모든 레코드가 NULL이면 NULL을 반환해요.
별칭: VAR_SAMP
본문
구문
집계 함수
VARIANCE( [ DISTINCT ] <expr1> )
윈도우 함수
VARIANCE( [ DISTINCT ] <expr1> ) OVER (
[ PARTITION BY <expr2> ]
[ ORDER BY <expr3> [ { ASC | DESC } ] [ NULLS { FIRST | LAST } ] ]
[ <window_frame> ]
)
window_frame의 자세한 구문은 Window function syntax and usage를 참고해요.
인자
expr1
expr1은 숫자 데이터 타입 중 하나로 평가되어야 해요.
expr2
파티션을 나눌 때 사용하는 표현식이에요.
expr3
각 파티션 안에서 정렬할 때 사용하는 표현식이에요.
반환 값
반환 값의 데이터 타입은 NUMBER(<precision>, <scale>)이에요. scale은 처리되는 값에 따라 달라져요.
사용상 주의사항
- 단일 레코드 입력의 경우 VAR_SAMP, VARIANCE, VARIANCE_SAMP 모두 NULL을 반환해요. 단일 레코드에 대해 VAR_SAMP는 NULL을 반환하고 VARIANCE는 0을 반환하는 Oracle 동작과 다르단 점에 유의해요.
- VARCHAR 표현식을 넘기면 이 함수는 입력을 암시적으로 부동 소수점 값으로 변환해요. 변환이 수행될 수 없으면 오류를 반환해요.
- 이 함수가 ORDER BY 절을 포함한 OVER 절을 가진 윈도우 함수로 호출될 때: 윈도우 프레임이 필수예요. 명시적으로 윈도우 프레임을 지정하지 않으면 다음의 암시적 윈도우 프레임이 사용돼요:
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW. 윈도우 프레임에 대한 구문, 사용상 주의사항, 예시를 포함한 자세한 내용은 Window function syntax and usage를 참고해요. 이 경우DISTINCT키워드는 사용할 수 없어요.
예시
예시는 VAR_SAMP를 참고해요.
더 알아보기
- Aggregate functions (General) — 집계 함수 모음
- VAR_SAMP — 표본 분산
- VAR_POP — 모집단 분산