quantileBFloat16
引入版本:v21.7.0
bfloat16 是一种浮点数据类型,具有 1 个符号位、8 个指数位和 7 个尾数位。
该函数会将输入值转换为 32 位浮点数,并取其最高有效的 16 位。然后计算 bfloat16 分位数值,并通过追加零位将结果转换为 64 位浮点数。
该函数是一种快速分位数估算器,最大相对误差为 0.78125% (平均相对误差约为 0.27%) ,这对应于 bfloat16 的 7 位尾数精度。
语法
quantileBFloat16[(level)](expr)别名: medianBFloat16
参数
level— 可选。分位数级别。取值范围为 0 到 1。默认值:0.5。Float*
参数
返回值
指定级别的近似分位数值。对于 Date 和 DateTime 类型的输入,输出格式与输入格式一致。Float64 或 Date 或 DateTime
示例
使用 bfloat16 计算分位数
CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);
SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│ 3 │ 1 │
└───────────────────────────┴───────────────────────────┘另请参阅