quantileTimingWeighted
quantile* 函数,它们的内部状态不会合并 (也就是说,查询的执行效率会低于原本可达到的水平) 。在这种情况下,请使用 quantiles 函数。
精度
在以下情况下,计算结果是精确的:
- 值的总数不超过 5670。
- 值的总数超过 5670,但页面加载时间小于 1024 ms。
对于计算页面加载时间分位数,此函数比
quantile 更高效、也更准确。如果未向函数传入任何值 (使用
quantileTimingIf 时) ,则返回 NaN。这样做是为了将这类情况与结果为零的情况区分开来。有关 NaN 值排序的说明,请参见 ORDER BY 子句。medianTimingWeighted
参数
level— 可选。分位数级别。取值为 0 到 1 之间的常量浮点数。建议将level设为[0.01, 0.99]范围内的值。默认值:0.5。当level=0.5时,此函数计算中位数。Float*
expr— 作用于列值并返回 Float* 类型数值的表达式。如果向函数传入负值,则其行为未定义。如果该值大于 30,000 (页面加载时间超过 30 秒) ,则按 30,000 处理。Float*weight— 表示序列元素权重的列。权重即该值出现的次数。UInt*
Float32
示例
计算加权时延分位数
Query
Response