quantileDD
引入版本:v24.1.0
计算样本的近似分位数,并具有相对误差保证。 其实现方式是构建一个 DD。
语法
quantileDD(relative_accuracy, [level])(expr)别名: medianDD
参数
relative_accuracy— 分位数的相对精度。取值范围为 0 到 1。sketch 的大小取决于数据范围和相对精度:范围越大、相对精度越小,sketch 就越大。sketch 的内存占用粗略估算为log(max_value/min_value)/relative_accuracy。建议取值为 0.001 或更高。Float*level— 可选。分位数级别。取值范围为 0 到 1。默认值:0.5。Float*
Arguments
返回值
指定级别的近似分位数。Float64
示例
使用 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 │
└───────────────────────────┴───────────────────────────┘另请参阅