Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesExactHigh

quantilesExactHigh

導入バージョン: v20.8.0

数値データ列の複数の分位点を、異なるレベルで同時に厳密に計算します。要素数が偶数で、レベル 0.5 の場合は、中央の2つの値のうち大きい方を返します。

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

構文

quantilesExactHigh(level1, level2, ...)(expr)

パラメータ

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

引数

  • expr — カラムの値に対する式。その結果は、数値データ型、DateDateTime、または DateTime64 である必要があります。(U)Int* または Float* または Decimal* または Date または DateTime または DateTime64

戻り値

指定したレベルの分位点を、指定した順序どおりに格納した Array を返します。数値データ型の場合、出力フォーマットは入力フォーマットと一致します。Array((U)Int*) または Array(Float*) または Array(Decimal*) または Array(Date) または Array(DateTime) または Array(DateTime64)

複数の厳密な高位分位点を計算する

SELECT quantilesExactHigh(0.25, 0.5, 0.75)(number) FROM numbers(10)
┌─quantilesExactHigh(0.25, 0.5, 0.75)(number)─┐
│ [2,5,7]                                     │
└─────────────────────────────────────────────┘
Navigation