SKEW

SKEW

SKEW 함수는 NULL이 아닌 레코드의 표본 왜도(sample skewness)를 반환해요. 그룹 안의 모든 레코드가 NULL이면 함수는 NULL을 반환해요.

표본 왜도를 계산하는 데 다음 공식이 사용돼요:

(n^2)/((n-1) * (n-2)) * (m_3/(k_2)^(1.5))

여기서:

  • n은 null이 아닌 레코드의 개수를 나타내요.
  • m_3은 표본 3차 중심적률(sample third central moment)을 나타내요.
  • k_2는 분산의 대칭 비편향 추정량(symmetric unbiased estimator)을 나타내요.

직관적으로 왜도는 기저 분포가 얼마나 비대칭적인지 설명해요.

출처: 문서

본문

문법 (Syntax)

SKEW( <expr> )

인자 (Arguments)

  • expr — 숫자 데이터 타입(INTEGER, FLOAT, DECIMAL 등)으로 평가되는 표현식이에요.

반환 (Returns)

이 함수는 DOUBLE 타입의 값을 반환해요.

사용 메모 (Usage notes)

  • 레코드가 3개 미만인 입력에 대해 SKEW는 NULL을 반환해요.

예제 (Examples)

테이블을 만들고 데이터를 불러와요:

create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2));

insert into aggr values
    (1, 10, null),
    (2, 10, null),
    (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 |  NULL |
| 2 | 20.00 | 22.00 |
| 2 | 25.00 |  NULL |
| 2 | 30.00 | 35.00 |
+---+-------+-------+

데이터를 조회해요:

select SKEW(K), SKEW(V), SKEW(V2)
    from aggr;
+--------------+---------------+----------+
|      SKEW(K) |       SKEW(V) | SKEW(V2) |
|--------------+---------------+----------|
| -2.236069766 | 0.05240788515 |     NULL |
+--------------+---------------+----------+

더 알아보기 (Learn more)