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

topKWeighted

topKWeighted

導入バージョン: v1.1

指定したカラム内の、おおよそ最も頻出する値の配列を返します。 結果の配列は、値そのものではなく、値のおおよその出現頻度の降順にソートされます。 さらに、値の重みも考慮されます。

関連項目

構文

topKWeighted(N)(column, weight)
topKWeighted(N, load_factor)(column, weight)
topKWeighted(N, load_factor, 'counts')(column, weight)

パラメータ

  • N — 返される要素数。デフォルト値: 10。UInt64
  • load_factor — オプション。値を格納するために予約されるセル数を指定します。uniq(column) > N * load_factor の場合、topK 関数の結果は近似値になります。デフォルト値: 3。UInt64
  • counts — オプション。結果に近似的なカウントと誤差値を含めるかどうかを指定します。Bool

引数

  • column — 最頻値を検索する対象となるカラム名。 - weight — 重み。各値は頻度計算において weight 回分として加重されます。UInt64

戻り値

重みの近似的な合計が最大となる値の配列を返します。Array

使用例

SELECT topKWeighted(2)(k, w) FROM
VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));
┌─topKWeighted(2)(k, w)──┐
│ ['z','x']              │
└────────────────────────┘

counts パラメータあり

SELECT topKWeighted(2, 10, 'counts')(k, w)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));
┌─topKWeighted(2, 10, 'counts')(k, w)─┐
│ [('z',10,0),('x',5,0)]              │
└─────────────────────────────────────┘

関連項目