메인 콘텐츠로 건너뛰기

quantiles

도입 버전: v1.1.0 숫자 데이터 시퀀스에 대해 서로 다른 수준의 근사 분위수를 여러 개 동시에 계산합니다. 이 함수는 저장소 크기가 최대 8192인 reservoir sampling과 샘플링을 위한 난수 생성기를 사용합니다. 결과는 비결정적입니다. 여러 개의 분위수 값이 필요할 때 quantiles를 사용하면 개별 quantile 함수를 여러 번 호출하는 것보다 효율적입니다. 모든 분위수를 데이터를 한 번만 순회하며 계산하기 때문입니다. 구문
quantiles(level1, level2, ...)(expr)
매개변수
  • level — 분위수 수준입니다. 0에서 1 사이의 상수 부동소수점 숫자 1개 이상입니다. level 값은 [0.01, 0.99] 범위에서 사용하는 것을 권장합니다. Float*
인수
  • expr — 컬럼 값에 대한 표현식입니다. 결과 타입은 숫자 데이터 타입, Date 또는 DateTime이어야 합니다. (U)Int* 또는 Float* 또는 Decimal* 또는 Date 또는 DateTime
반환 값 지정된 수준의 근사 분위수를, 수준을 지정한 순서와 동일한 순서로 담은 배열입니다. Array(Float64) 또는 Array(Date) 또는 Array(DateTime) 예시 여러 분위수를 효율적으로 계산하기
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

SELECT quantiles(0.25, 0.5, 0.75, 0.9)(val) FROM t;
Response
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [3, 5.5, 8, 9.5]                     │
└──────────────────────────────────────┘
마지막 수정일 2026년 6월 10일