メインコンテンツへスキップ
メインコンテンツへスキップ

topK

topK

導入バージョン: v1.1

指定したカラム内で、おおよそ最頻出の値を要素とする配列を返します。結果の配列は、(値そのものではなく)値のおおよその出現頻度に基づいて降順にソートされます。

TopK を求めるために Filtered Space-Saving アルゴリズムを実装しており、Parallel Space Saving の reduce-and-combine アルゴリズムに基づいています。

この関数は結果を保証しません。特定の状況では誤差が発生する可能性があり、最頻出の値ではないものを頻出値として返す場合があります。

関連項目

構文

topK(N)(column)
topK(N, load_factor)(column)
topK(N, load_factor, 'counts')(column)

パラメータ

  • N — 返す要素数。デフォルト値: 10。N = 65536 が最大値。UInt64
  • load_factor — オプション。値のために確保するセル数を指定します。uniq(column) > N * load_factor の場合、topK 関数の結果は近似値になります。デフォルト値: 3。UInt64
  • counts — オプション。結果におおよその件数と誤差を含めるかどうかを指定します。Bool

引数

  • column — 最頻値を検索する対象のカラム名。String

返り値

おおよそ最も出現頻度の高い値の配列を、近似頻度の降順で返します。Array

使用例

SELECT topK(3)(AirlineID) AS res
FROM ontime;
┌─res─────────────────┐
│ [19393,19790,19805] │
└─────────────────────┘

関連項目