跳至主要内容

topKWeighted

返回指定列中近似最常见值的数组。生成的数组按近似值的频率降序排列(而不是按值本身排列)。此外,还考虑了值的权重。

语法

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

参数

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

参数

  • column — 值。
  • weight — 权重。每个值的频率计算都计入 weight 次。UInt64.

返回值

返回权重总和最大值的数组。

示例

查询

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'] │
└────────────────────────┘

查询

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)] │
└─────────────────────────────────────┘

另请参见