- 카테고리:
- 집계 함수 (General) , 윈도우 함수 구문 및 사용법 
KURTOSIS¶
NULL이 아닌 레코드의 표본 초과 첨도를 반환합니다. 그룹 내의 모든 레코드가 NULL인 경우 함수는 NULL을 반환합니다.
다음 공식은 샘플 초과 첨도를 계산하는 데 사용됩니다.
\[(n * (n+1))/((n-1) * (n-2) * (n-3)) * (n * m_4/(k_2)^2) - 3 * (n-1)^2 / ((n-2) * (n-3))\]
여기서,
- \(n\) 은 NULL이 아닌 레코드의 수를 나타냅니다. 
- \(m_4\) 는 샘플의 네 번째 중심 모멘트를 나타냅니다. 
- \(k_2\) 는 분산의 대칭적인, 편향되지 않은 추정량을 나타냅니다. 
구문¶
집계 함수
KURTOSIS( <expr> )
윈도우 함수
KURTOSIS( <expr> ) OVER ( [ PARTITION BY <expr2> ] )
인자¶
- expr
- 이는 숫자 데이터 타입(예: INTEGER, FLOAT, DECIMAL)으로 평가되는 식입니다. 
- expr2
- 개별 그룹 또는 윈도우를 정의하는 식입니다. 
반환¶
입력 데이터 타입이 DOUBLE/FLOAT인 경우, DOUBLE을 반환합니다.
입력 데이터 타입이 다른 숫자 데이터 타입인 경우, DECIMAL을 반환합니다.
사용법 노트¶
- 레코드가 4개 미만인 입력의 경우, KURTOSIS는 NULL을 반환합니다. 
- 이 함수가 윈도우 함수로 호출되는 경우에는 다음을 지원하지 않습니다. - OVER 절 내의 ORDER BY 절. 
- 명시적 윈도우 프레임. 
 
예¶
테이블을 만들고 일부 행을 삽입합니다.
CREATE OR REPLACE TABLE aggr(k INT, v DECIMAL(10,2), v2 DECIMAL(10, 2));
INSERT INTO aggr VALUES
  (1, 10, null),
  (2, 10, 12),
  (2, 20, 22),
  (2, 25, null),
  (2, 30, 35);
테이블에서 모든 데이터를 선택합니다.
SELECT * FROM aggr
  ORDER BY k, v;
+---+-------+-------+
| K |     V |    V2 |
|---+-------+-------|
| 1 | 10.00 |  NULL |
| 2 | 10.00 | 12.00 |
| 2 | 20.00 | 22.00 |
| 2 | 25.00 |  NULL |
| 2 | 30.00 | 35.00 |
+---+-------+-------+
각 열에 대한 KURTOSIS 값을 반환합니다.
SELECT KURTOSIS(k), KURTOSIS(v), KURTOSIS(v2)
  FROM aggr;
+----------------+-----------------+--------------+
|    KURTOSIS(K) |     KURTOSIS(V) | KURTOSIS(V2) |
|----------------+-----------------+--------------|
| 5.000000000000 | -2.324218750000 |         NULL |
+----------------+-----------------+--------------+