功能描述
MEDIAN 函数用于计算数值列的中位数。中位数是将数据集按大小顺序排列后位于中间位置的值。该函数等价于 percentile(expr, 0.5),即计算第 50 百分位数。
参数说明
expr:数值类型的表达式,可以是整数、浮点数或 DECIMAL 类型。
返回类型
注意事项
- 如果输入为空集,返回
NULL。
- 对于偶数个值,返回中间两个值的平均值。
- 对于奇数个值,返回正中间的值。
NULL 值会被自动忽略,不参与计算。
使用示例
- 基本用法:计算中位数
SELECT median(col) FROM VALUES (0), (10) AS tab(col);
+--------------+
| median(col) |
+--------------+
| 5.0 |
+--------------+
- 偶数个值的中位数(两个中间值的平均值)
SELECT median(value) FROM VALUES (1), (2), (3), (4) AS t(value);
+----------------+
| median(value) |
+----------------+
| 2.5 |
+----------------+
- 奇数个值的中位数
SELECT median(value) FROM VALUES (1), (2), (3), (4), (5) AS t(value);
+----------------+
| median(value) |
+----------------+
| 3.0 |
+----------------+