Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesDD

quantilesDD

引入版本:v24.1.0

同时计算样本在不同级别上的多个近似分位数,并提供相对误差保证。

此函数等同于 quantileDD,但支持在单次遍历中计算多个分位数级别,因此比逐个调用分位数函数更高效。

语法

quantilesDD(relative_accuracy, level1, level2, ...)(expr)

参数

  • relative_accuracy — 分位数的相对精度。可选值范围为 0 到 1。建议值为 0.001 或更高。Float*
  • level — 分位数级别。一个或多个介于 0 到 1 之间的常量浮点数。建议将 level 的值设在 [0.01, 0.99] 范围内。Float*

参数

  • expr — 基于列值计算的 expression,结果为数值 data type、DateDateTime(U)Int*Float*DateDateTime

返回值

按指定级别的顺序返回对应的近似分位数组。对于 DateDateTime 输入,output format 与 input format 一致。Array(Float64)Array(Date)Array(DateTime)

示例

使用 DDSketch 计算多个分位数

SELECT quantilesDD(0.01, 0.25, 0.5, 0.75)(number) FROM numbers(10)
┌─quantilesDD(0.01, 0.25, 0.5, 0.75)(number)────────────────┐
│ [1.9936617014173448,4.0148353330285875,5.989510371172621] │
└───────────────────────────────────────────────────────────┘
Navigation