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

quantileTDigest

quantileTDigest

導入バージョン: v1.1

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

メモリ使用量は log(n) で、ここで n は値の個数です。結果はクエリの実行順序に依存し、非決定的です。

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

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

構文

quantileTDigest(level)(expr)

別名: medianTDigest

パラメータ

  • level — 省略可能。分位数のレベル。0 から 1 までの定数の浮動小数点数。level の値には [0.01, 0.99] の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。Float*

引数

  • expr — 数値データ型、Date または DateTime を返すカラム値に対する式。(U)Int* または Float* または Decimal* または Date または DateTime

戻り値

指定されたレベルにおける近似分位数。Float64 または Date または DateTime

t-digest を用いた分位数の計算

SELECT quantileTDigest(number) FROM numbers(10);
┌─quantileTDigest(number)─┐
│                     4.5 │
└─────────────────────────┘

関連項目