quantileDD
Computes an approximate [quantile](https://en.
Computes an approximate quantile of a sample with relative-error guarantees. It works by building a DD.
Syntax
quantileDD(relative_accuracy, [level])(expr)Parameters
relative_accuracy— Relative accuracy of the quantile. Possible values are in the range from 0 to 1. The size of the sketch depends on the range of the data and the relative accuracy. The larger the range and the smaller the relative accuracy, the larger the sketch. The rough memory size of the sketch islog(max_value/min_value)/relative_accuracy. The recommended value is 0.001 or higher.Float*level— Optional. Level of quantile. Possible values are in the range from 0 to 1. Default value: 0.5.Float*
Arguments
expr— Expression over the column values resulting in numeric data types,DateorDateTime.(U)Int*orFloat*orDateorDateTime
Returned value
Approximate quantile of the specified level. For Date and DateTime inputs the output format matches the input format. Float64 or Date or DateTime
Examples
Computing quantile with DD sketch
CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);
SELECT quantileDD(0.01, 0.75)(a), quantileDD(0.01, 0.75)(b) FROM example_table;┌─quantileDD(0.01, 0.75)(a)─┬─quantileDD(0.01, 0.75)(b)─┐
│ 2.974233423476717 │ 1.01 │
└───────────────────────────┴───────────────────────────┘Introduced in version 24.1.0.