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です。UInt64load_factor— 任意。値用に予約する cell の数を指定します。uniq(column) > N * load_factorの場合、topK 関数の結果は近似値になります。デフォルト値: 3。UInt64counts— 任意。結果に近似カウントと 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] │
└─────────────────────┘関連項目