跳转到主要内容

quantileExact

引入版本:v1.1.0 精确计算数值数据序列的分位数 为了获得精确值,所有传入的值都会合并到一个数组中,然后对其进行部分排序。 因此,该函数会占用 O(n) 内存,其中 n 是传入值的数量。 不过,当值的数量较少时,该函数的效率非常高。 当在一个查询中使用多个级别不同的 quantile* 函数时,内部状态不会合并 (也就是说,查询的执行效率会低于原本可达到的水平) 。 在这种情况下,请改用 quantiles 函数。 语法
quantileExact(level)(expr)
别名medianExact 参数
  • level — 可选。分位数的级别。取值为 0 到 1 之间的常量浮点数。建议将 level 设为 [0.01, 0.99] 范围内的值。默认值:0.5。当 level=0.5 时,该函数计算中位数。Float*
参数说明 返回值 指定级别的分位数。对于数值数据类型,输出格式与输入格式相同。(U)Int*Float*Decimal*DateDateTime 示例 计算精确分位数
Query
SELECT quantileExact(number) FROM numbers(10);
Response
┌─quantileExact(number)─┐
│                     5 │
└───────────────────────┘
另请参阅
最后修改于 2026年6月10日