Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

topK

topK

導入バージョン: v1.1.0

指定したカラム内で、概ね出現頻度が最も高い値の配列を返します。返される配列は、値そのものではなく、値のおおよその出現頻度の降順でソートされます。

TopK の分析には、Parallel Space Saving の reduce-and-combine アルゴリズムに基づく Filtered Space-Saving アルゴリズムを実装しています。

この関数は結果を保証しません。状況によっては誤差が生じ、最も頻出する値ではない頻出値を返すことがあります。

関連項目

構文

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

パラメータ

  • N — 返す要素数。デフォルト値: 10。N の最大値は 65536 です。UInt64
  • load_factor — 任意。値用に予約する cell の数を指定します。uniq(column) > N * load_factor の場合、topK 関数の結果は近似値になります。デフォルト値: 3。UInt64
  • counts — 任意。結果に近似カウントと error 値を含めるかどうかを指定します。Bool

引数

  • column — 最も頻出する値を見つける対象のカラム名。String

戻り値

おおよその出現頻度の高い値を、おおよその出現頻度の降順でソートした配列を返します。Array

使用例

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

関連項目

Navigation