跳到主要内容

PERCENTILE

Description

Syntax

PERCENTILE(expr, DOUBLE p)

计算精确的百分位数,适用于小数据量。先对指定列降序排列,然后取精确的第 p 位百分数。p 的值介于 01 之间 如果 p 不指向精确的位置,则返回所指位置两侧相邻数值在 p 所指位置上产生的线性插值。注意这不是两数字的平均数。

参数说明 expr:必填。值为整数(最大为 bigint) 类型的列。 p:常量,必填。需要精确的百分位数。取值为 [0.0,1.0]

提示

自 Doris 3.0.3 版本开始支持, expr 支持了更多的输入类型, eg: float, double. 支持浮点数据参与计算,减少了cast 数据的开销。

Example

MySQL > select `table`, percentile(cost_time,0.99) from log_statis group by `table`;
+---------------------+---------------------------+
| table | percentile(`cost_time`, 0.99) |
+----------+--------------------------------------+
| test | 54.22 |
+----------+--------------------------------------+

MySQL > select percentile(NULL,0.3) from table1;
+-----------------------+
| percentile(NULL, 0.3) |
+-----------------------+
| NULL |
+-----------------------+

Keywords

PERCENTILE