Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesDeterministic

quantilesDeterministic

도입 버전: v1.1.0

결정적 리저버 샘플링을 사용하여, 서로 다른 수준에서 숫자 데이터 시퀀스의 여러 근사 분위수를 동시에 계산합니다.

이 함수는 quantileDeterministic와 동일하지만, 한 번의 처리로 여러 분위수 수준을 계산할 수 있으므로 개별 분위수 함수를 각각 호출하는 것보다 더 효율적입니다.

구문

quantilesDeterministic(level1, level2, ...)(expr, determinator)

매개변수

  • level — 분위수 수준입니다. 0부터 1까지의 상수 부동소수점 수를 하나 이상 지정합니다. level 값은 [0.01, 0.99] 범위에서 사용하는 것을 권장합니다. Float*

인수

  • expr — 컬럼 값에 대한 표현식이며, 결과는 숫자 데이터 타입, Date, 또는 DateTime이어야 합니다. (U)Int* or Int128 or UInt128 or Int256 or UInt256 or Float* or Date or DateTime
  • determinator — 리저버 샘플링 알고리즘에서 난수 생성기 대신 해시를 사용해 샘플링 결과를 결정적으로 만들기 위한 숫자입니다. UInt*

반환 값

지정한 수준의 근사 분위수를, 수준을 지정한 순서와 동일한 순서로 담은 배열입니다. Array(Float64) or Array(Date) or Array(DateTime)

예시

여러 개의 결정적 분위수 계산

SELECT quantilesDeterministic(0.25, 0.5, 0.75)(number, number) FROM numbers(10)
┌─quantilesDeterministic(0.25, 0.5, 0.75)(number, number)─┐
│ [2.25,4.5,6.75]                                         │
└─────────────────────────────────────────────────────────┘
Navigation