跳转到内容

聚合函数。

QUANTILE_CONT() 函数计算数值数据序列经插值得到的分位数。

func.quantile_cont(<levels>, <expr>)
func.quantile_cont(0.5, table.sales_amount).alias('median_sales_amount')
| median_sales_amount |
|-----------------------|
| 6000.0 |
QUANTILE_CONT(<levels>)(<expr>)
QUANTILE_CONT(level1, level2, ...)(<expr>)
参数 说明
<level(s) 分位数的水平。每个水平是 0 到 1 之间的常量浮点数。建议使用 [0.01, 0.99] 范围内的水平值。
<expr> 任意数值表达式

Float64 或 float64 数组,取决于水平的数量。

创建表并插入示例数据

CREATE TABLE sales_data (
id INT,
sales_person_id INT,
sales_amount FLOAT
);
INSERT INTO sales_data (id, sales_person_id, sales_amount)
VALUES (1, 1, 5000),
(2, 2, 5500),
(3, 3, 6000),
(4, 4, 6500),
(5, 5, 7000);

查询演示:使用插值法计算销售额的第 50 百分位数(中位数)

SELECT QUANTILE_CONT(0.5)(sales_amount) AS median_sales_amount
FROM sales_data;

结果

| median_sales_amount |
|-----------------------|
| 6000.0 |