**看《SQL进阶教程》HAVING字句查询中位数: **
中位数是 排序后 位于 正中间 的数
也就是 如果是中位数的话,前面小于它的数有一半,后面大于它的数有一半(假设奇数)
因存在重复的数值,<= 和 >= 中位数的值 分别 至少是一半的个数(很可能比一半多)
如图理解的话:
总共10个数,4种数值 中位数的位置应该在5 和6 之间
····当1000是中位数时 , <=1000的有3个,>=1000的有7个——3 不符合中位数的位置
·
·
····当1500是中位数时 , <=1500的有5个,>=1500的有7个——5和7 符合中位数的位置
·
····当2000是中位数时 ,<=2000的有8个,>=2000的有5个——5和8 符合中位数的位置
·
·
····当3000是中位数时 ,<=3000的有8个,>=3000的有2个 ——2不符合中位数的位置
····当4000是中位数时 ,<=4000的有9个,>=4000的有1个——1不符合中位数的位置
所以 中间值可能是1500和2000的平均值
也就是把