quantileExact
導入バージョン: v1.1.0
数値データ列の分位点を厳密に計算します。
正確な値を得るために、渡されたすべての値を配列にまとめ、その後で部分的にソートします。
そのため、この関数は O(n) のメモリを消費します。ここで n は渡された値の個数です。
ただし、値の数が少ない場合、この関数は非常に効率的です。
1 つのクエリ内で異なるレベルの複数の quantile* 関数を使用すると、内部状態は結合されません (つまり、クエリは本来より非効率に動作します) 。
この場合は、quantiles 関数を使用してください。
構文
quantileExact(level)(expr)別名: medianExact
パラメータ
level— 任意。分位点のレベルです。0 から 1 までの定数の浮動小数点数です。levelの値には[0.01, 0.99]の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5の場合、この関数は中央値を計算します。Float*
引数
expr— カラムの値に対する式で、数値型、Date、DateTime、またはDateTime64となるもの。(U)Int*またはInt128またはUInt128またはInt256またはUInt256またはFloat*またはDecimal*またはDateまたはDateTimeまたはDateTime64
戻り値
指定したレベルの分位点。数値型の場合、出力フォーマットは入力フォーマットと同じになります。(U)Int* または Int128 または UInt128 または Int256 または UInt256 または Float* または Decimal* または Date または DateTime または DateTime64
例
正確な分位点を計算する
SELECT quantileExact(number) FROM numbers(10);┌─quantileExact(number)─┐
│ 5 │
└───────────────────────┘関連項目