quantile

quantile

숫자 데이터 수열의 근사 분위수(quantile)를 계산하는 집계 함수예요. v1.1.0부터 도입되었어요.

출처: 문서

본문

숫자 데이터 수열의 근사 분위수를 계산해요. 이 함수는 최대 8192 크기의 reservoir sampling과 샘플링을 위한 난수 생성기를 적용해요. 결과는 비결정적(non-deterministic)이에요. 정확한 분위수를 얻으려면 quantileExact 함수를 사용하세요. 쿼리에서 서로 다른 수준(level)의 여러 quantile* 함수를 사용하면 내부 상태가 결합되지 않아요(즉, 쿼리가 가능한 것보다 덜 효율적으로 동작해요). 이 경우에는 quantiles 함수를 사용하세요. 빈 숫자 수열에 대해 quantileNaN을 반환하지만, 그 quantile* 변형들은 변형에 따라 NaN 또는 수열 타입의 기본값을 반환한다는 점에 유의하세요.

구문 (Syntax)

quantile(level)(expr)

별칭(Aliases): median

파라미터 (Parameters)

  • level — 선택사항이에요. 분위수의 수준이에요. 0부터 1까지의 상수 부동소수점 수예요. [0.01, 0.99] 범위의 수준 값을 사용하는 것을 권장해요. 기본값: 0.5. level=0.5에서는 함수가 중앙값을 계산해요. Float

인자 (Arguments)

  • expr — 숫자 데이터 타입, Date, DateTime 또는 DateTime64를 결과로 내는 컬럼 값에 대한 표현식이에요. (U)Int* 또는 Int128 또는 UInt128 또는 Int256 또는 UInt256 또는 Float* 또는 Decimal* 또는 Date 또는 DateTime 또는 DateTime64

반환 값 (Returned value)

지정된 수준의 근사 분위수예요. 숫자 인자는 Float64를 생성하고, Decimal, Date, DateTime, DateTime64 인자는 입력 형식을 그대로 유지해요. Float64 또는 Decimal* 또는 Date 또는 DateTime 또는 DateTime64

예시 (Examples)

분위수 계산:

CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantile(val) FROM t;

결과:

┌─quantile(val)─┐
│           1.5 │
└───────────────┘

참고 (See Also)

  • median
  • quantiles

더 알아보기 (Learn more)