본문으로 바로가기
본문으로 바로가기

quantile

quantile

도입 버전: v1.1

숫자 데이터 시퀀스의 근사 quantile을 계산합니다.

이 함수는 최대 8192 크기의 리저버와 난수 생성기를 사용하여 reservoir sampling 기법을 적용합니다. 결과는 결정적이지 않습니다. 정확한 quantile이 필요하면 quantileExact 함수를 사용하십시오.

하나의 쿼리에서 서로 다른 수준을 가진 여러 quantile* 함수를 사용할 때 내부 상태는 결합되지 않습니다(즉, 쿼리가 가능한 것보다 덜 효율적으로 동작합니다). 이 경우 quantiles 함수를 사용하십시오.

빈 숫자 시퀀스에 대해 quantile은 NaN을 반환하지만, quantile* 변형 함수는 변형에 따라 NaN 또는 시퀀스 타입의 기본값을 반환한다는 점에 유의하십시오.

구문

quantile(level)(expr)

별칭: median

매개변수

  • level — 선택 사항입니다. 분위수 수준(level)입니다. 0에서 1 사이의 상수 부동소수점 수입니다. level 값은 [0.01, 0.99] 범위에서 사용할 것을 권장합니다. 기본값: 0.5입니다. level=0.5인 경우 함수는 중앙값을 계산합니다. Float

인수

  • expr — 숫자 데이터 타입, Date 또는 DateTime을 결과로 하는 컬럼 값에 대한 표현식입니다. (U)Int* 또는 Float* 또는 Decimal* 또는 Date 또는 DateTime

반환 값

지정된 수준의 근사 분위수입니다. Float64 또는 Date 또는 DateTime

예제

분위수 계산

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

SELECT quantile(val) FROM t;
┌─quantile(val)─┐
│           1.5 │
└───────────────┘

참고