메인 콘텐츠로 건너뛰기

quantileExactHigh

도입 버전: v20.8.0 quantileExact와 유사하게, 숫자 데이터 시퀀스의 정확한 분위수를 계산합니다. 정확한 값을 구하기 위해 전달된 모든 값을 배열로 결합한 다음, 이를 완전히 정렬합니다. 정렬 알고리즘의 복잡도는 O(N·log(N))이며, 여기서 N = std::distance(first, last)는 비교 횟수입니다. 반환값은 분위수 수준과 선택된 요소 수에 따라 달라집니다. 즉, 수준이 0.5이면 요소 수가 짝수일 때 함수는 더 큰 중앙값을 반환하고, 요소 수가 홀수일 때는 가운데 중앙값을 반환합니다. 중앙값은 Python에서 사용되는 median_high 구현과 유사한 방식으로 계산됩니다. 그 외의 모든 수준에서는 level * size_of_array 값에 해당하는 인덱스의 요소를 반환합니다. 하나의 쿼리에서 수준이 서로 다른 여러 quantile* 함수를 사용하면 내부 상태가 결합되지 않습니다(즉, 쿼리가 가능한 것보다 덜 효율적으로 동작합니다). 이 경우 quantiles 함수를 사용하십시오. 구문
quantileExactHigh(level)(expr)
별칭: medianExactHigh 매개변수
  • 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 예시 정확한 상위 분위수 계산
Query
SELECT quantileExactHigh(number) FROM numbers(10);
Response
┌─quantileExactHigh(number)─┐
│                         5 │
└───────────────────────────┘
특정 분위수 계산
Query
SELECT quantileExactHigh(0.1)(number) FROM numbers(10);
Response
┌─quantileExactHigh(0.1)(number)─┐
│                              1 │
└────────────────────────────────┘
마지막 수정일 2026년 6월 10일