quantileExactWeighted
quantileExactWeighted
引入版本:v1.1
精确计算数值数据序列的分位数,并考虑每个元素的权重。
为了获得精确值,所有传入的值会被组合成一个数组,然后对该数组进行部分排序。
每个值按照其权重计数,就好像它出现了 weight 次一样。
算法中使用了哈希表。
因此,如果传入的值频繁重复,该函数比 quantileExact 消耗更少的 RAM。
可以使用此函数替代 quantileExact,并将权重指定为 1。
在一个查询中使用多个具有不同 level 的 quantile* 函数时,其内部状态不会被合并(也就是说,该查询的执行效率低于本可达到的效率)。
在这种情况下,请使用 quantiles 函数。
语法
别名: medianExactWeighted
参数
level— 可选。分位数水平。0 到 1 之间的常量浮点数。建议将level设置在[0.01, 0.99]范围内。默认值:0.5。当level=0.5时,函数计算中位数。Float*
参数说明
expr— 作用于列值的表达式,结果为数值类型、Date 或 DateTime。(U)Int*或Float*或Decimal*或Date或DateTimeweight— 序列成员权重列。权重表示该值出现的次数。UInt*
返回值
给定水平的分位数值。Float64 或 Date 或 DateTime
示例
计算精确加权分位数
另请参阅