跳至主要内容

approx_top_k

返回指定列中近似最频繁的值及其计数的数组。结果数组按值的近似频率降序排序(而不是按值本身排序)。

approx_top_k(N)(column)
approx_top_k(N, reserved)(column)

此函数不保证结果。在某些情况下,可能会发生错误,并且可能会返回并非最频繁值的频繁值。

建议使用 `N < 10` 的值;使用较大的 `N` 值会降低性能。`N` 的最大值为 `65536`。

参数

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

参数

  • column — 要计算频率的值。

示例

查询

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

approx_top_count

是 `approx_top_k` 函数的别名

另请参阅