更新时间:2023-10-25 GMT+08:00

percentlie

percentile函数用于计算精确百分位数,适用于小数据量。先对指定列升序排列,然后取第p位百分数的精确值。

命令格式

percentile(colname,DOUBLE p)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

colname

STRING类型

代表需要排序的列名。

列中元素只能为整数类型。

p

DOUBLE类型

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

返回值说明

返回DOUBLE或ARRAY类型。

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

示例代码

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

返回3.0999999999999996。

select percentile(int_test,0.7) FROM int_test;

返回3.997。

select percentile(int_test,0.999) FROM int_test;

返回2.5。

select percentile(int_test,0.5) FROM int_test;

返回[1.3,1.9,2.5,2.8,3.7]。

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