更新时间:2023-11-03 GMT+08:00

percentlie_approx

percentile_approx函数用于计算近似百分位数,适用于大数据量。先对指定列升序排列,然后取第p位百分数最靠近的值。

命令格式

percentile_approx (colname,DOUBLE p)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

colname

STRING类型

代表需要排序的列名。

列中元素为DOUBLE类型。当列中元素非DOUBLE类型时,会隐式转换为DOUBLE类型后参与运算。

p

DOUBLE类型

参数a的格式包括浮点数格式、整数格式、字符串格式。

参数p的范围为0-1。参数p的格式包括浮点数格式。

返回值说明

返回DOUBLE类型或ARRAY类型的值。

  • 列名不存在时,返回报错。
  • p为NULL或在[0,1]之外时,返回报错。

示例代码

假设列int_test中的元素为1、2、3、4,类型为INT类型。

返回3。

select percentile_approx(int_test,0.7) FROM int_test;

返回3。

select percentile_approx(int_test,0.75) FROM int_test;

返回2。

select percentile_approx(int_test,0.5) FROM int_test;

返回[1,2,2,3,4]。

select percentile_approx (int_test,ARRAY(0.1,0.3,0.5,0.6,0.9)) FROM int_test;