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

percentile_approx

percentile_approx函数用于返回组内数字列近似的第p位百分数(包括浮点数)。

命令格式

percentile_approx(DOUBLE col, p [, B])

参数说明

表1 参数说明

参数

是否必选

说明

col

数据类型为数值的列。其他类型返回NULL。

p

0<=P<=1,否则返回NULL。

B

参数B控制近似的精确度,B值越大,近似度越高,默认值为10000。当列中非重复值的数量小于B时,返回精确的百分数。

返回值说明

返回DOUBLE类型的值。

示例代码

  • 计算所有商品库存(items)的 0.5 百分位,精确度100。命令示例如下:
    select stddev_samp(items,0.5,100) from warehouse; 

    返回结果如下:

    _c0        
    500        
  • 与group by配合使用,对所有商品按照仓库(warehourseId)进行分组,并计算同组商品库存(items)的 0.5 百分位,精确度100。命令示例如下:
    select warehourseId, stddev_samp(items, 0.5, 100) from warehourse group by warehourseId; 

    返回结果如下:

    warehouseId _c1        
    city1     499        
    city2     354        
    city3     565