跳转到主要内容

quantilesExactInclusive

引入版本:v20.1.0 使用包含式方法,同时精确计算数值数据序列在不同级别上的多个分位数 此函数等同于 quantileExactInclusive,但支持在一次遍历中计算多个分位数级别,因此比逐个调用分位数函数更高效。 此函数使用包含式方法计算分位数,如 R-7 method 所述。 它等同于 Excel 函数 PERCENTILE.INC 为了获得精确值,所有传入的值都会被合并到一个数组中,然后对其进行部分排序。 排序算法的复杂度为 O(N·log(N)),其中 N = std::distance(first, last),比较次数如上所示。 语法
quantilesExactInclusive(level1, level2, ...)(expr)
参数
  • level — 分位数的级别。取值为 0 到 1 (含) 之间的常量浮点数。建议将 level 的值设在 [0.01, 0.99] 范围内。Float*
Arguments 返回值 由指定级别的分位数组成的数组,顺序与指定的级别顺序一致。Array(Float64) 示例 计算多个精确包含型分位数
Query
CREATE TABLE num AS numbers(1000);
SELECT quantilesExactInclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number) FROM num;
Response
┌─quantilesExactInclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number)─┐
│ [249.75,499.5,749.25,899.1,949.05,989.01,998.001]                        │
└──────────────────────────────────────────────────────────────────────────┘
最后修改于 2026年6月10日