quantileExact 函数
quantileExact
准确计算数值数据序列的 分位数。
为了获得确切的值,所有传入的值会组合成一个数组,然后进行部分排序。因此,该函数消耗 O(n)
的内存,其中 n
是传入值的数量。然而,对于少量值,该函数的效率非常高。
在查询中使用多个不同级别的 quantile*
函数时,内部状态不会合并(即,查询的效率低于理想情况)。在这种情况下,使用 quantiles 函数。
语法
别名:medianExact
。
参数
level
— 分位数的级别。可选参数。常量浮点数,范围为 0 到 1。建议使用[0.01, 0.99]
范围内的level
值。默认值:0.5。在level=0.5
时,函数计算 中位数。expr
— 针对列值的表达式,结果为数值 数据类型,Date 或 DateTime。
返回值
- 指定级别的分位数。
类型:
- 对于数值数据类型,输出格式与输入格式相同。例如:
示例
查询:
结果:
quantileExactLow
与 quantileExact
类似,这个函数计算数值数据序列的确切 分位数。
为了获取确切值,所有传入值组合成一个数组,并进行完全排序。排序 算法 的复杂度为 O(N·log(N))
,其中 N = std::distance(first, last)
比较次数。
返回值取决于分位数级别和选择中的元素数量,即如果级别是 0.5,则函数返回偶数个元素的下中位数值和奇数个元素的中位数值。中位数的计算方式类似于在 Python 中使用的 median_low 实现。
对于所有其他级别,返回与 level * size_of_array
相对应的索引处的元素。例如:
在查询中使用多个不同级别的 quantile*
函数时,内部状态不会合并(即,查询的效率低于理想情况)。在这种情况下,使用 quantiles 函数。
语法
别名:medianExactLow
。
参数
level
— 分位数的级别。可选参数。常量浮点数,范围为 0 到 1。建议使用[0.01, 0.99]
范围内的level
值。默认值:0.5。在level=0.5
时,函数计算 中位数。expr
— 针对列值的表达式,结果为数值 数据类型,Date 或 DateTime。
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
quantileExactHigh
与 quantileExact
类似,这个函数计算数值数据序列的确切 分位数。
所有传入值组合成一个数组,并进行完全排序,以获取确切值。排序 算法 的复杂度为 O(N·log(N))
,其中 N = std::distance(first, last)
比较次数。
返回值取决于分位数级别和选择中的元素数量,即如果级别是 0.5,则函数返回偶数元素的上中位数值和奇数元素的中位数值。中位数的计算方式与 Python 中使用的 median_high 实现相似。对于所有其他级别,返回与 level * size_of_array
相对应的索引处的元素。
该实现的行为与当前的 quantileExact
实现完全相同。
在查询中使用多个不同级别的 quantile*
函数时,内部状态不会合并(即,查询的效率低于理想情况)。在这种情况下,使用 quantiles 函数。
语法
别名:medianExactHigh
。
参数
level
— 分位数的级别。可选参数。常量浮点数,范围为 0 到 1。建议使用[0.01, 0.99]
范围内的level
值。默认值:0.5。在level=0.5
时,函数计算 中位数。expr
— 针对列值的表达式,结果为数值 数据类型,Date 或 DateTime。
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
quantileExactExclusive
准确计算数值数据序列的 分位数。
为了获得确切的值,所有传入的值组合成一个数组,然后进行部分排序。因此,该函数消耗 O(n)
的内存,其中 n
是传入值的数量。然而,对于少量值,该函数的效率非常高。
该函数等同于 PERCENTILE.EXC Excel 函数,(type R6)。
在查询中使用多个不同级别的 quantileExactExclusive
函数时,内部状态不会合并(即,查询的效率低于理想情况)。在这种情况下,使用 quantilesExactExclusive 函数。
语法
参数
参数
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
quantileExactInclusive
准确计算数值数据序列的 分位数。
为了获得确切的值,所有传入的值组合成一个数组,然后进行部分排序。因此,该函数消耗 O(n)
的内存,其中 n
是传入值的数量。然而,对于少量值,该函数的效率非常高。
该函数等同于 PERCENTILE.INC Excel 函数,(type R7)。
在查询中使用多个不同级别的 quantileExactInclusive
函数时,内部状态不会合并(即,查询的效率低于理想情况)。在这种情况下,使用 quantilesExactInclusive 函数。
语法
参数
参数
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
另见