跳转到主内容
跳转到主内容

quantile

quantile

引入版本:v1.1

计算数值数据序列的近似 quantile

此函数对样本应用 reservoir sampling 算法,蓄水池大小最多为 8192,并使用随机数生成器进行采样。 结果是非确定性的。 若要获取精确分位数,请使用 quantileExact 函数。

在一个查询中使用多个带有不同 level 的 quantile* 函数时,其内部状态不会被合并(也就是说,该查询的执行效率会低于本可以达到的水平)。 在这种情况下,请使用 quantiles 函数。

请注意,对于空的数值序列,quantile 将返回 NaN,而它的 quantile* 变体将根据具体变体返回 NaN 或该序列类型的默认值。

语法

quantile(level)(expr)

别名: median

参数

  • level — 可选。分位数的级别。0 到 1 之间的常量浮点数。建议使用 [0.01, 0.99] 范围内的 level 值。默认值:0.5。在 level=0.5 时,函数计算中位数。Float

参数

返回值

指定级别的近似分位数。Float64DateDateTime

示例

计算分位数

CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantile(val) FROM t;
┌─quantile(val)─┐
│           1.5 │
└───────────────┘

另请参阅