Skip to main content

quantileExactExclusive

Introduced in: v20.1.0 Similar to quantileExact, this computes the exact quantile of a numeric data sequence. This function is equivalent to quantileExact but uses the exclusive method for calculating quantiles, as described in the R-6 method. When using this function, the quantile is calculated such that the interpolation formula for a given quantile p takes the form: x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)]), where x is the sorted array. To get the exact value, all the passed values are combined into an array, which is then fully sorted. The sorting algorithm’s complexity is O(N·log(N)), where N = std::distance(first, last) comparisons. When using multiple quantile* functions with different levels in a query, the internal states are not combined (that is, the query works less efficiently than it could). In this case, use the quantiles function. Syntax
quantileExactExclusive(level)(expr)
Parameters
  • level — Level of quantile. Constant floating-point number from 0 to 1 (exclusive). We recommend using a level value in the range of (0.01, 0.99). Float*
Arguments Returned value Returns the quantile of the specified level. Float64 Examples Computing exact exclusive quantile
Query
SELECT quantileExactExclusive(0.25)(number) FROM numbers(5);
Response
┌─quantileExactExclusive(0.25)(number)─┐
│                                  0.5 │
└──────────────────────────────────────┘
Computing multiple quantile levels
Query
SELECT quantileExactExclusive(0.1)(number), quantileExactExclusive(0.9)(number) FROM numbers(10);
Response
┌─quantileExactExclusive(0.1)(number)─┬─quantileExactExclusive(0.9)(number)─┐
│                                 0.4 │                                 8.6 │
└─────────────────────────────────────┴─────────────────────────────────────┘
Last modified on June 8, 2026