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

approx_top_sum

approx_top_sum

導入バージョン: v1.1

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

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

関連項目

構文

approx_top_sum(N[, reserved])(column, weight)

パラメータ

  • N — 返す要素数。省略可能。デフォルト値: 10。UInt64
  • reserved — 省略可能。値を保持するために確保しておくセル数を定義します。uniq(column) > reserved の場合、topK 関数の結果は近似値になります。デフォルト値: N * 3N の最大値: 65536。UInt64

引数

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

返される値

近似的に最も頻度の高い値とそのカウントの配列を、近似頻度の降順でソートして返します。Array

使用例

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

関連項目