quantileTiming
Introduced in: v1.1.0 With the determined precision computes the quantile of a numeric data sequence. The result is deterministic (it does not depend on the query processing order). The function is optimized for working with sequences which describe distributions like loading web pages times or backend response times. When using multiplequantile* 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.
Accuracy
The calculation is accurate if:
- Total number of values does not exceed 5670.
- Total number of values exceeds 5670, but the page loading time is less than 1024ms.
For calculating page loading time quantiles, this function is more effective and accurate than
quantile.If no values are passed to the function (when using
quantileTimingIf), NaN is returned. The purpose of this is to differentiate these cases from cases that result in zero. See ORDER BY clause for notes on sorting NaN values.medianTiming
Parameters
level— Optional. Level of quantile. Constant floating-point number from 0 to 1. We recommend using alevelvalue in the range of[0.01, 0.99]. Default value: 0.5. Atlevel=0.5the function calculates median.Float*
expr— Expression over a column values returning a Float*-type number. If negative values are passed to the function, the behavior is undefined. If the value is greater than 30,000 (a page loading time of more than 30 seconds), it is assumed to be 30,000.Float*
quantileTimingIf), NaN is returned. The purpose of this is to differentiate these cases from cases that result in zero. Float32
Examples
Computing timing quantile
Query
Response