【发布时间】:2020-11-09 16:44:17
【问题描述】:
我正在努力寻找简单中位数问题的解决方案。给定一个只有一列的表 my_table:
my_column |
----------|
10 |
20 |
30 |
40 |
50 |
60 |
如何调用函数返回 35 的中位数?
当我只想返回中间值时,我不知道如何使这个语法起作用:
SELECT
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY my_column) OVER ( PARTITION BY my_column)
FROM
my_table
【问题讨论】:
-
35 是平均值,而不是中位数。
-
@BillKarwin 一点也不真实。上述数据集没有单个中值,因为它有 偶数 个值。因此,统计学家通常会将 30 和 40 的 均值 报告为中位数。在这种情况下,它是 35,巧合的是,这也是平均值。
-
点了,我收回我的评论。 :)
-
对不起,我应该使用更好的样本数据来保持更清晰!
-
撤回评论的一种方法是删除它。
标签: mysql sql mariadb common-table-expression median