首页 > 数据库技术 > 详细

mysql--求中位数

时间:2021-08-25 18:42:49      阅读:36      评论:0      收藏:0      [点我收藏+]

第一种求中位数方法:

/*
    第一步:添加一个正序和反序
    第二步:当列表数目为奇数的时候,列表选出的情况,当列表为偶数的时候列表的情况
    第三步:统筹奇数和偶数时中位数
*/
select sum(Math)/count(*) as midean
from
(
select Math, desc_Math, asc_Math 
from
(
select *, row_number() over (order by Math desc)  as desc_Math,
          row_number() over (order by Math asc)  as asc_Math
from s448
)as order_table
where asc_Math in (desc_Math, desc_Math+1, desc_Math-1)) as media_number ;

第二种求中位数方法:

/*
    第一步:为数据添加索引
    第二步:利用索引找出数据的中位数
*/
set @rowidx := -1;    -- 声明变量
select avg(n.Math) from 
(select @rowidx := @rowidx + 1 as rowidx, Math from s448 order by Math) as n 
where n.rowidx in (floor(@rowidx/2), ceil(@rowidx/2));

mysql--求中位数

原文:https://www.cnblogs.com/mysterygust/p/15186122.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!