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

quantile

数値データシーケンスの近似的な分位点を計算します。

この関数は、最大サイズ 8192 のリザーバサンプリングと乱数生成器を用いてサンプリングを行います。結果は非決定的です。厳密な分位点を取得するには、quantileExact 関数を使用してください。

1 つのクエリ内で、異なるレベルを持つ複数の quantile* 関数を使用する場合、内部状態は結合されません(つまり、クエリは本来の性能より非効率になります)。このような場合は、quantiles 関数を使用してください。

数値シーケンスが空の場合、quantile は NaN を返しますが、quantile* の各バリアントは、そのバリアントに応じて NaN またはシーケンス型のデフォルト値のいずれかを返すことに注意してください。

構文

quantile(level)(expr)

別名: median

引数

  • level — 分位点のレベル。省略可能なパラメーター。0 から 1 の間の定数浮動小数点数。level の値は [0.01, 0.99] の範囲で使用することを推奨します。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。
  • expr — 数値データ型Date または DateTime を結果とする、列値に対する式。

戻り値

  • 指定されたレベルの近似的な分位点。

型:

  • 数値データ型入力に対しては Float64
  • 入力値が Date 型の場合は Date
  • 入力値が DateTime 型の場合は DateTime

入力テーブル:

┌─val─┐
│   1 │
│   1 │
│   2 │
│   3 │
└─────┘

クエリ:

SELECT quantile(val) FROM t

結果:

┌─quantile(val)─┐
│           1.5 │
└───────────────┘

関連項目