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

quantileTDigest

数値データ列に対して、t-digest アルゴリズムを用いて近似的な 分位数 を計算します。

メモリ消費量は log(n) で、ここで n は値の個数です。結果はクエリの実行順序に依存し、決定的ではありません。

この関数のパフォーマンスは、quantilequantileTiming のパフォーマンスよりも劣ります。State サイズと精度の比率という観点では、この関数は quantile よりもはるかに優れています。

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

構文

quantileTDigest(level)(expr)

別名: medianTDigest.

引数

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

返される値

  • 指定されたレベルの近似分位数。

型:

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

クエリ:

SELECT quantileTDigest(number) FROM numbers(10)

結果:

┌─quantileTDigest(number)─┐
│                     4.5 │
└─────────────────────────┘

関連項目