quantilesTDigest
Computes multiple approximate [quantiles](https://en.
Computes multiple approximate quantiles of a numeric data sequence at different levels simultaneously using the t-digest algorithm.
This function is equivalent to quantileTDigest but allows computing multiple quantile levels in a single pass, which is more efficient than calling individual quantile functions.
Memory consumption is log(n), where n is a number of values. The result depends on the order of running the query, and is nondeterministic.
The performance of the function is lower than performance of quantiles or quantilesTiming. In terms of the ratio of State size to precision, this function is much better than quantiles.
Syntax
quantilesTDigest(level1, level2, ...)(expr)Parameters
level— Levels of quantiles. One or more constant floating-point numbers from 0 to 1. We recommend usinglevelvalues in the range of[0.01, 0.99].Float*
Arguments
expr— Expression over the column values resulting in numeric data types, Date or DateTime.(U)Int*orFloat*orDecimal*orDateorDateTime
Returned value
Array of approximate quantiles of the specified levels in the same order as the levels were specified. Array(Float64) or Array(Date) or Array(DateTime)
Examples
Computing multiple quantiles with t-digest
SELECT quantilesTDigest(0.25, 0.5, 0.75)(number) FROM numbers(100);┌─quantilesTDigest(0.25, 0.5, 0.75)(number)─┐
│ [24.75,49.5,74.25] │
└───────────────────────────────────────────┘Introduced in version 1.1.