quantile
導入バージョン: v1.1.0
数値データの数列に対する近似 quantile を計算します。
この関数では、リザーバサイズが最大 8192 の reservoir sampling と、サンプリング用の乱数生成器を使用します。
結果は決定論的ではありません。
正確な 分位点 を取得するには、quantileExact 関数を使用してください。
1 つのクエリ内で異なるレベルを持つ複数の quantile* 関数を使用する場合、内部状態は結合されません (つまり、クエリは本来よりも非効率に動作します) 。
この場合は、quantiles 関数を使用してください。
空の数値の数列に対しては、quantile は NaN を返しますが、quantile* の各種バリアントは、種類に応じて NaN またはその数列型のデフォルト値を返します。
構文
quantile(level)(expr)別名: median
Parameters
level— 任意。分位点 のレベルです。0 から 1 までの定数の浮動小数点数を指定します。levelの値には[0.01, 0.99]の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5の場合、この関数は median を計算します。Float
Arguments
expr— カラム値に対する式。結果のデータ型は数値型、Date、DateTime、またはDateTime64である必要があります。(U)Int*またはInt128またはUInt128またはInt256またはUInt256またはFloat*またはDecimal*またはDateまたはDateTimeまたはDateTime64
戻り値
指定したレベルの近似 分位点 値。数値引数は Float64 を返し、Decimal、Date、DateTime、DateTime64 の引数は入力フォーマットを保持します。Float64 または Decimal* または Date または DateTime または DateTime64
Examples
quantile の計算
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);
SELECT quantile(val) FROM t;┌─quantile(val)─┐
│ 1.5 │
└───────────────┘関連項目