Introduced in: v1.1.0
Exactly computes the quantile of a numeric data sequence.
To get exact value, all the passed values are combined into an array, which is then partially sorted.
Therefore, the function consumes O(n) memory, where n is a number of values that were passed.
However, for a small number of values, the function is very effective.
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
quantileExact(level)(expr)Arguments
expr— Expression over the column values resulting in numeric data types,Date,DateTimeorDateTime64.(U)Int*orInt128orUInt128orInt256orUInt256orFloat*orDecimal*orDateorDateTimeorDateTime64
Returned value
Quantile of the specified level. For numeric data types the output format will be the same as the input format. (U)Int* or Int128 or UInt128 or Int256 or UInt256 or Float* or Decimal* or Date or DateTime or DateTime64
Examples
Computing exact quantile
SELECT quantileExact(number) FROM numbers(10);┌─quantileExact(number)─┐
│ 5 │
└───────────────────────┘