• mysql--求中位数


    第一种求中位数方法:

    /*
        第一步:添加一个正序和反序
        第二步:当列表数目为奇数的时候,列表选出的情况,当列表为偶数的时候列表的情况
        第三步:统筹奇数和偶数时中位数
    */
    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));
    
  • 相关阅读:
    mybatis+sql语句
    坐标转换
    sql语句含中文JDBC查询不到
    架构阅读笔记16
    架构阅读笔记15
    架构阅读笔记14
    windows安装imgaug包报错中Shapely
    java除法
    Java输入输出问题复习
    java自学,基础,入门
  • 原文地址:https://www.cnblogs.com/mysterygust/p/15186122.html
Copyright © 2020-2023  润新知