Versions available for this page: CUBRID 8.4.0 | CUBRID 8.4.1 | CUBRID 8.4.3 | CUBRID 9.0.0 |
VAR_SAMP 함수는 표본 분산을 반환한다. 분모는 모든 행의 개수 - 1이다. 하나의 연산식 expression만 인자로 지정되며, 연산식 앞에 DISTINCT 또는 UNIQUE 키워드를 포함시키면 연산식 값 중 중복을 제거한 후, 표본 분산을 구하고, 키워드가 생략되거나 ALL인 경우에는 모든 값에 대해 표본 분산을 구한다.
리턴 값은 DOUBLE 타입이며, 결과 계산에 사용할 행이 없으면 NULL을 반환한다.
다음은 함수에 적용된 공식이다.
VAR_SAMP = { 1 / (N-1) } * SUM( { xI - mean(x) }2 )
분석 함수에 대한 예제는 아래의 분석 함수 예제를 참고한다. 분석 함수에 대한 자세한 내용은 개요를 참고한다.
VAR_SAMP( [ DISTINCT | UNIQUE | ALL] expression )
다음은 전체 과목에 대해 전체 학생의 표본 분산을 출력하는 예제이다.
CREATE TABLE student (name VARCHAR(32), subjects_id INT, score DOUBLE);
INSERT INTO student VALUES
('Jane',1, 78),
('Jane',2, 50),
('Jane',3, 60),
('Bruce', 1, 63),
('Bruce', 2, 50),
('Bruce', 3, 80),
('Lee', 1, 85),
('Lee', 2, 88),
('Lee', 3, 93),
('Wane', 1, 32),
('Wane', 2, 42),
('Wane', 3, 99),
('Sara', 1, 17),
('Sara', 2, 55),
('Sara', 3, 43);
SELECT VAR_SAMP(score) FROM student;
var_samp(score)
==========================
5.815238095238092e+02
다음은 각 과목(subjects_id)별로 전체 학생의 점수와 표본 분산을 함께 출력하는 예제이다.
SELECT subjects_id, name, score, VAR_SAMP(score) OVER(PARTITION BY subjects_id) v_samp
FROM student ORDER BY subjects_id, name;
subjects_id name score v_samp
=======================================================================================
1 'Bruce' 6.300000000000000e+01 8.665000000000000e+02
1 'Jane' 7.800000000000000e+01 8.665000000000000e+02
1 'Lee' 8.500000000000000e+01 8.665000000000000e+02
1 'Sara' 1.700000000000000e+01 8.665000000000000e+02
1 'Wane' 3.200000000000000e+01 8.665000000000000e+02
2 'Bruce' 5.000000000000000e+01 3.220000000000000e+02
2 'Jane' 5.000000000000000e+01 3.220000000000000e+02
2 'Lee' 8.800000000000000e+01 3.220000000000000e+02
2 'Sara' 5.500000000000000e+01 3.220000000000000e+02
2 'Wane' 4.200000000000000e+01 3.220000000000000e+02
3 'Bruce' 8.000000000000000e+01 5.435000000000000e+02
3 'Jane' 6.000000000000000e+01 5.435000000000000e+02
3 'Lee' 9.300000000000000e+01 5.435000000000000e+02
3 'Sara' 4.300000000000000e+01 5.435000000000000e+02
3 'Wane' 9.900000000000000e+01 5.435000000000000e+02