均值与中位数是什么?

Mean vs Median that is the?

我有许多 select 语句来计算诸如总和、除法和平均值之类的字段。但是,我现在需要包括基于查询的中位数以及均值(平均值)。 table 在 MSSQL 数据库中包含 50,000 行,因此在同一个查询 return 中,我需要为每一行提供结果 return。

我知道 SQl 中没有中位数公式,我不知道。我使用的是 SQL 2012。所以如果有人有想法,我欢迎你的想法,因为我不能是唯一一个反对这个的人。

例子是这样的

Select 
     Round (AVG ([LENGTH]),2) as Length_X,
     Round (Median ([LENGTH]),2) as Length_median,

我知道中位数不是公认的 sql 声明,因此仅用于演示目的以表达我的观点

干杯

如果您有数字数据,那么有一个 "median" 函数。 It is just spelled differently:

select percentile_cont(0.5) within group (order by ??) over ()

select percentile_disc(0.5) within group (order by ??) over ()

(两者之间的区别很微妙,对于大多数用途来说可能无关紧要。)

不幸的是,它不是聚合函数,所以它经常用于子查询。