Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesInterpolatedWeighted

quantilesInterpolatedWeighted

引入版本:v23.1.0

使用线性插值,同时计算数值数据序列在不同级别上的多个分位数,并将每个元素的权重纳入计算。

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

语法

quantilesInterpolatedWeighted(level1, level2, ...)(expr, weight)

参数

  • level — 分位数的级别。一个或多个介于 0 到 1 之间的常量浮点数。建议将 level 的值设在 [0.01, 0.99] 范围内。Float*

参数

返回值

由指定级别的分位数组成的数组,顺序与指定级别的顺序相同。对于数值数据类型,输出格式与输入格式一致。Array((U)Int*) or Array(Int128) or Array(UInt128) or Array(Int256) or Array(UInt256) or Array(Float*) or Array(Decimal*) or Array(Date) or Array(DateTime) or Array(DateTime64)

示例

计算多个经插值的加权分位数

SELECT quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(10)
┌─quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1)─┐
│ [2,4,7]                                                   │
└───────────────────────────────────────────────────────────┘
Navigation