Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesDeterministic

quantilesDeterministic

導入バージョン: v1.1.0

決定論的リザーバーサンプリングを使用して、異なるレベルにおける数値データ列の近似分位点を複数同時に計算します。

この関数は quantileDeterministic と同等ですが、1回の処理で複数の分位点レベルを計算できるため、個別に分位点関数を呼び出すよりも効率的です。

構文

quantilesDeterministic(level1, level2, ...)(expr, determinator)

パラメーター

  • level — 分位点のレベル。0 から 1 までの定数の浮動小数点数を 1 つ以上指定します。level の値には [0.01, 0.99] の範囲を使用することを推奨します。Float*

引数

  • expr — カラム値に対する式。結果の型は数値データ型、Date、または DateTime です。(U)Int* または Int128 または UInt128 または Int256 または UInt256 または Float* または Date または DateTime
  • determinator — リザーバーサンプリングアルゴリズムで乱数生成器の代わりに hash が使われる数値で、サンプリング結果を決定論的にします。UInt*

戻り値

指定したレベルに対応する近似分位点の Array。順序は、指定したレベルの順序と同じです。Array(Float64) または Array(Date) または Array(DateTime)

複数の決定論的な分位点を計算する

SELECT quantilesDeterministic(0.25, 0.5, 0.75)(number, number) FROM numbers(10)
┌─quantilesDeterministic(0.25, 0.5, 0.75)(number, number)─┐
│ [2.25,4.5,6.75]                                         │
└─────────────────────────────────────────────────────────┘
Navigation