메인 콘텐츠로 건너뛰기

quantilesExactExclusive

도입 버전: v20.1.0 exclusive 방식을 사용하여 숫자 데이터 시퀀스의 여러 분위수를 서로 다른 수준에서 동시에 정확하게 계산합니다. 이 함수는 quantileExactExclusive와 동일하지만, 여러 분위수 수준을 한 번에 계산할 수 있어 개별 분위수 함수를 각각 호출하는 것보다 더 효율적입니다. 이 함수는 R-6 method에 설명된 대로 분위수를 계산할 때 exclusive 방식을 사용합니다. 이는 Excel의 PERCENTILE.EXC 함수와 동일합니다. 정확한 값을 얻기 위해 전달된 모든 값을 하나의 배열로 결합한 다음 부분 정렬합니다. 정렬 알고리즘의 복잡도는 O(N·log(N))번의 비교이며, 여기서 N = std::distance(first, last)입니다. 구문
quantilesExactExclusive(level1, level2, ...)(expr)
매개변수
  • level — 분위수 수준입니다. 0과 1 사이의 상수 부동소수점 수이며, 양 끝값은 제외됩니다. level 값은 (0.01, 0.99) 범위에서 사용하는 것을 권장합니다. Float*
인수
  • expr — 컬럼 값에 대한 표현식으로, 결과는 숫자 데이터 타입, Date 또는 DateTime이어야 합니다. (U)Int* 또는 Float* 또는 Decimal* 또는 Date 또는 DateTime
반환 값 지정한 수준의 분위수를, 지정한 수준과 동일한 순서로 담은 배열입니다. Array(Float64) 예시 여러 개의 정확한 exclusive 분위수 계산
Query
CREATE TABLE num AS numbers(1000);
SELECT quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number) FROM num;
Response
┌─quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number)─┐
│ [249.25,499.5,749.75,899.9,949.95,989.99,998.999]                        │
└──────────────────────────────────────────────────────────────────────────┘
마지막 수정일 2026년 6월 10일