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

approx_top_k

approx_top_k

引入自:v1.1

返回一个数组,其中包含指定列中近似最高频的值及其计数。 结果数组按照值的近似出现频率降序排序(而不是按值本身排序)。

此函数不保证结果绝对准确。 在某些情况下,可能会存在误差,并可能返回一些频繁出现的值,但它们并不是出现次数最多的值。

语法

approx_top_k(N[, reserved])(column)

别名: approx_top_count

参数

  • N — 要返回的元素个数。默认值:10N 的最大值为 65536UInt64
  • reserved — 可选。定义为值预留的单元格数量。如果 uniq(column) > reserved,结果将是近似的。默认值:N * 3UInt64

参数说明

  • column — 要在其中查找最频繁值的列名。String

返回值

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

示例

使用示例

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

另请参阅