MEDIAN

median(expr)

功能描述

MEDIAN
MEDIAN
函数用于计算数值列的中位数。中位数是将数据集按大小顺序排列后位于中间位置的值。该函数等价于
percentile(expr, 0.5)
percentile(expr, 0.5)
,即计算第 50 百分位数。

参数说明

  • expr
    expr
    :数值类型的表达式,可以是整数、浮点数或
    DECIMAL
    DECIMAL
    类型。

返回类型

  • 返回
    DOUBLE
    DOUBLE
    类型。
  • 返回数据集的中位数。

注意事项

  • 如果输入为空集,返回
    NULL
    NULL
  • 对于偶数个值,返回中间两个值的平均值。
  • 对于奇数个值,返回正中间的值。
  • NULL
    NULL
    值会被自动忽略,不参与计算。
  • MEDIAN
    MEDIAN
    不支持
    FILTER
    FILTER
    子句,如需条件过滤,请在外层使用
    WHERE
    WHERE
    子句或改用
    percentile(expr, 0.5) FILTER (...)
    percentile(expr, 0.5) FILTER (...)

使用示例

  1. 基本用法:计算中位数

SELECT median(col) FROM VALUES (0), (10) AS tab(col); +--------------+ | median(col) | +--------------+ | 5 | +--------------+

  1. 偶数个值的中位数(两个中间值的平均值)

SELECT median(value) FROM VALUES (1), (2), (3), (4) AS t(value); +----------------+ | median(value) | +----------------+ | 2.5 | +----------------+

  1. 奇数个值的中位数

SELECT median(value) FROM VALUES (1), (2), (3), (4), (5) AS t(value); +----------------+ | median(value) | +----------------+ | 3 | +----------------+

  1. 按分组计算中位数

SELECT c, median(col) FROM VALUES ('a', 1), ('a', 2), ('a', 3), ('b', 10), ('b', 20), ('b', 30) AS tab(c, col) GROUP BY c; +---+-------------+ | c | median(col) | +---+-------------+ | a | 2 | | b | 20 | +---+-------------+

联系我们
预约咨询
微信咨询
电话咨询
邮件咨询