
# percentile_approx
#### 功能描述
percentile_approx函数用于计算近似百分位数，适用于大数据量。先对指定列升序排列，然后取第p位百分数最靠近的值。
#### 语法格式
```
percentile_approx(DOUBLE col, p [, B])
```
#### 参数说明
| 参数  | 是否必选 | 说明                                                        |
|:---|:---|:---|
| col | 是    | 数据类型为数值的列。其他类型返回NULL。                                     |
| p   | 是    | 0\<=P\<=1，否则返回NULL。                                       |
| B   | 否    | 参数B控制近似的精确度，B值越大，近似度越高，默认值为10000。当列中非重复值的数量小于B时，返回精确的百分数。 |
   
#### 返回值说明
返回DOUBLE类型的值。
#### 示例
- 计算所有商品库存（items）的0.5百分位，精确度100。命令示例如下：假设列int_test中的元素为1、2、3、4，类型为INT类型。
  ```
  select PERCENTILE_APPROX(items,0.5,100) from warehouse;
  ```
  返回结果如下：
  ```
  +------------+
  | _c0        |
  +------------+
  | 10        |
  +------------+
  ```
  
- 与group by配合使用，对所有商品按照仓库（warehouseId）进行分组，并计算同组商品库存（items）的 0.5 百分位，精确度100。命令示例如下：
  ```
  select warehouseId, PERCENTILE_APPROX(items, 0.5, 100) from warehouse group by warehouseId;
  ```
  返回结果如下：
  ```
  +------------+------------+
  | warehouseId| _c1        |
  +------------+------------+
  | city1    | 3     |
  | city2    | 20     |
  | city3    | 200     |
  +------------+------------+
  ```
  
 
