quantileTDigest
t-digestアルゴリズムを使用して、数値データ列の近似的な分位を計算します。
メモリ消費はlog(n)
であり、ここでn
は値の数です。結果はクエリの実行順序に依存しており、非決定的です。
この関数のパフォーマンスは、quantileやquantileTimingのパフォーマンスよりも低くなっています。ステートサイズと精度の比率の観点では、この関数はquantile
よりも優れています。
異なるレベルのquantile*
関数をクエリで使用する場合、内部状態は結合されません(つまり、クエリは本来可能な効率よりも低効率で動作します)。この場合、quantiles関数を使用してください。
構文
quantileTDigest(level)(expr)
エイリアス: medianTDigest
.
引数
level
— 分位のレベル。オプションのパラメータです。0から1までの定数浮動小数点数。level
値を[0.01, 0.99]
の範囲で使用することをお勧めします。デフォルト値は0.5です。level=0.5
の場合、関数は中央値を計算します。expr
— 数値データ型、DateまたはDateTimeを結果とするカラム値に対する式。
返される値
- 指定されたレベルの近似的な分位。
型:
例
クエリ:
SELECT quantileTDigest(number) FROM numbers(10)
結果:
┌─quantileTDigest(number)─┐
│ 4.5 │
└─────────────────────────┘
関連項目