메인 콘텐츠로 건너뛰기

quantileDeterministic

도입 버전: v1.1.0 숫자 데이터 시퀀스의 근사 분위수를 계산합니다. 이 함수는 최대 8192 크기의 리저버를 사용하는 리저버 샘플링과 결정적 방식의 샘플링 알고리즘을 적용합니다. 결과는 결정적입니다. 정확한 분위수를 얻으려면 quantileExact 함수를 사용하십시오. 하나의 쿼리에서 서로 다른 수준의 여러 quantile* 함수를 사용하면 내부 상태가 결합되지 않습니다(즉, 쿼리가 원래보다 비효율적으로 동작합니다). 이 경우 quantiles 함수를 사용하십시오. 구문
quantileDeterministic(level)(expr, determinator)
별칭: medianDeterministic 매개변수
  • level — 선택 사항입니다. 분위수 수준입니다. 0과 1 사이의 상수 부동소수점 수입니다. level 값은 [0.01, 0.99] 범위에서 사용하는 것을 권장합니다. 기본값은 0.5입니다. level=0.5이면 함수는 중앙값을 계산합니다. Float*
인수
  • expr — 컬럼 값을 대상으로 하는 표현식으로, 결과는 숫자 데이터 타입, Date 또는 DateTime이어야 합니다. (U)Int* 또는 Float* 또는 Decimal* 또는 Date 또는 DateTime
  • determinator — reservoir 샘플링 알고리즘에서 난수 생성기 대신 해시를 사용하는 숫자이며, 이를 통해 샘플링 결과를 결정론적으로 만듭니다. determinator로는 사용자 ID나 이벤트 ID와 같이 결정론적인 임의의 양수를 사용할 수 있습니다. 동일한 determinator 값이 너무 자주 나타나면 함수가 올바르게 동작하지 않습니다. (U)Int*
반환 값 지정된 수준의 근사 분위수를 반환합니다. Float64 또는 Date 또는 DateTime 예시 결정론적 분위수 계산
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantileDeterministic(val, 1) FROM t;
Response
┌─quantileDeterministic(val, 1)─┐
│                           1.5 │
└───────────────────────────────┘
관련 항목
마지막 수정일 2026년 6월 10일