跳转到主要内容

topK

Introduced in: v1.1.0 返回指定列中近似最常见的值组成的数组。结果数组按值出现频率的近似值降序排序 (而不是按值本身排序) 。 该函数实现了用于分析 TopK 的 Filtered Space-Saving 算法,该算法基于 Parallel Space Saving 中的 reduce-and-combine 算法。 此函数不保证结果的准确性。在某些情况下,可能会出现误差,并返回出现频率较高但并非最高频的值。 See Also Syntax
topK(N)(column)
topK(N, load_factor)(column)
topK(N, load_factor, 'counts')(column)
参数
  • N — 要返回的元素个数。默认值:10。N 的最大值为 65536UInt64
  • load_factor — 可选。定义为这些值预留多少个单元。如果 uniq(column) > N * load_factor,则 topK 函数的结果将为近似值。默认值:3。UInt64
  • counts — 可选。定义结果是否应包含近似计数和误差值。Bool
参数
  • column — 要查找其最常见值的列名。String
返回值 返回一个由近似最常见的值组成的数组,并按近似频率降序排序。Array 示例 使用示例
Query
SELECT topK(3)(AirlineID) AS res
FROM ontime;
Response
┌─res─────────────────┐
│ [19393,19790,19805] │
└─────────────────────┘
另请参阅
最后修改于 2026年6月10日