percentlie
percentile函数用于计算精确百分位数,适用于小数据量。先对指定列升序排列,然后取第p位百分数的精确值。
命令格式
percentile(colname,DOUBLE p)
参数说明
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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;