mysql中位数计算方式


mysql中位数计算方式
1、建表

drop table test_cunchu.score;
create table test_cunchu.score(
    id int not null primary key auto_increment,
    score decimal(10,2) not null
);

2、插入数据

insert into test_cunchu.score (score) values (89.4);
insert into test_cunchu.score (score) values (82.5);
insert into test_cunchu.score (score) values (65);
insert into test_cunchu.score (score) values (98);
insert into test_cunchu.score (score) values (92);
insert into test_cunchu.score (score) values (34);
insert into test_cunchu.score (score) values (59);
insert into test_cunchu.score (score) values (83);
insert into test_cunchu.score (score) values (88);
insert into test_cunchu.score (score) values (63);
insert into test_cunchu.score (score) values (100);
insert into test_cunchu.score (score) values (96);
insert into test_cunchu.score (score) values (68);
insert into test_cunchu.score (score) values (56);

3、中位数查询

select round(sum(score) / count(*),2) as midean
from (
         select score,
                row_number() over (order by score desc) as desc_Math,
                row_number() over (order by score asc)   as asc_Math
         from test_cunchu.score
     ) as order_table
where asc_Math in (desc_Math, desc_Math + 1, desc_Math - 1);

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279132.html

(0)
上一篇 2022年8月6日
下一篇 2022年8月6日

相关推荐

发表回复

登录后才能评论