跳到主要内容
跳到主要内容

quantileDeterministic

计算数值数据序列的近似分位数

此函数应用蓄水池抽样,蓄水池大小最多为 8192,并采用确定性抽样算法。结果是确定性的。要获得精确的分位数,请使用 quantileExact 函数。

当在查询中使用具有不同级别的多个 quantile* 函数时,内部状态不会组合(即,查询的效率低于应有的水平)。在这种情况下,请使用 quantiles 函数。

语法

quantileDeterministic(level)(expr, determinator)

别名:medianDeterministic

参数

  • level — 分位数水平。可选参数。从 0 到 1 的常量浮点数。我们建议使用 [0.01, 0.99] 范围内的 level 值。默认值:0.5。在 level=0.5 时,该函数计算中位数
  • expr — 表达式,针对列值,结果为数值数据类型DateDateTime
  • determinator — 数字,其哈希值在蓄水池抽样算法中用作随机数生成器的替代品,以使抽样结果具有确定性。作为确定符,您可以使用任何确定性的正数,例如用户 ID 或事件 ID。如果同一个确定符值出现过于频繁,则该函数将无法正常工作。

返回值

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

类型

  • Float64 用于数值数据类型输入。
  • Date 如果输入值具有 Date 类型。
  • DateTime 如果输入值具有 DateTime 类型。

示例

输入表

┌─val─┐
│ 1 │
│ 1 │
│ 2 │
│ 3 │
└─────┘

查询

SELECT quantileDeterministic(val, 1) FROM t

结果

┌─quantileDeterministic(val, 1)─┐
│ 1.5 │
└───────────────────────────────┘

另请参阅

© . This site is unofficial and not affiliated with ClickHouse, Inc.