Skip to main content
Skip to main content

approx_top_k

approx_top_k

Introduced in: v1.1

Returns an array of the approximately most frequent values and their counts in the specified column. The resulting array is sorted in descending order of approximate frequency of values (not by the values themselves).

This function does not provide a guaranteed result. In certain situations, errors might occur and it might return frequent values that aren't the most frequent values.

Syntax

approx_top_k(N[, reserved])(column)

Aliases: approx_top_count

Parameters

  • N — The number of elements to return. Default value: 10. Maximum value of N = 65536. UInt64
  • reserved — Optional. Defines how many cells reserved for values. If uniq(column) > reserved, the result will be approximate. Default value: N * 3. UInt64

Arguments

  • column — The name of the column for which to find the most frequent values. String

Returned value

Returns an array of the approximately most frequent values and their counts, sorted in descending order of approximate frequency. Array

Examples

Usage example

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

See Also