计算由 分位数 组成的样本的近似分位数,样本由 bfloat16 数字组成。 bfloat16
是一种浮点数据类型,具有 1 个符号位、8 个指数位和 7 个尾数位。该函数将输入值转换为 32 位浮点数,并取最高有效 16 位。然后它计算 bfloat16
分位数,并通过附加零位将结果转换为 64 位浮点数。该函数是一个快速分位数估计器,相对误差不超过 0.390625%。
语法
quantileBFloat16[(level)](expr)
别名: medianBFloat16
参数
参数
level
— 分位数水平。 可选。 可能的值范围为 0 到 1。 默认值:0.5。 浮点数。
返回值
- 指定水平的近似分位数。
类型: Float64。
示例
输入表包含整数列和浮点数列
┌─a─┬─────b─┐
│ 1 │ 1.001 │
│ 2 │ 1.002 │
│ 3 │ 1.003 │
│ 4 │ 1.004 │
└───┴───────┘
查询以计算 0.75 分位数(第三四分位数)
SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;
结果
┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│ 3 │ 1 │
└───────────────────────────┴───────────────────────────┘
请注意,在转换为 bfloat16
时,示例中的所有浮点值都被截断为 1.0。
quantileBFloat16Weighted
类似于 quantileBFloat16
,但考虑了每个序列成员的权重。
参见