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

approx_top_sum

approx_top_sum

引入版本:v1.1

返回一个数组,其中包含指定列中近似最常出现的值及其计数。 结果数组按照值的近似出现频率降序排序(不是按值本身排序)。 此外,还会考虑值的权重。

此函数不保证结果是精确的。 在某些情况下,可能会存在误差,可能返回一些出现频率较高的值,但这些值不一定是最频繁的值。

另请参阅

语法

approx_top_sum(N[, reserved])(column, weight)

参数

  • N — 要返回的元素数量。可选。默认值:10。UInt64
  • reserved — 可选。表示为存储值预留的单元格数量。如果 uniq(column) > reserved,则 topK 函数的结果为近似值。默认值:N * 3N 的最大值为 65536UInt64

参数说明

  • column — 要查找其最频繁值的列名。String
  • weight — 权重。每个值在频率计算中按 weight 次计入。UInt64

返回值

返回一个数组,包含近似的最频繁值及其计数,并按近似频率的降序排序。Array

示例

用法示例

SELECT approx_top_sum(2)(k, w)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));
┌─approx_top_sum(2)(k, w)─┐
│ [('z',10,0),('x',5,0)]  │
└─────────────────────────┘

另请参阅