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