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

topKWeighted

topKWeighted

引入版本:v1.1

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

另请参阅

语法

topKWeighted(N)(column, weight)
topKWeighted(N, load_factor)(column, weight)
topKWeighted(N, load_factor, 'counts')(column, weight)

参数

  • N — 要返回的元素个数。默认值:10。UInt64
  • load_factor — 可选。用于指定为存储值预留多少个单元格。如果 uniq(column) > N * load_factor,则 topK 函数的结果是近似的。默认值:3。UInt64
  • counts — 可选。定义结果中是否应包含近似计数和误差值。Bool

参数说明

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

返回值

返回一个数组,其中包含其权重近似总和最大的值。Array

示例

用法示例

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

使用 counts 参数

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

另请参阅