sql中位数 select avg(字段) mid_item_cycle from( select 字段, row_number() over(order by 字段 asc) as rn, (count(1) over())/2 as cnt from 表 ) tmp where rn = cnt or (rn - cnt <=1 and rn - cnt >=0.5) 注意:在排序的时候空也会被排序,空会影响中位数的结果,如果没必要保留空的话,尽量还是要去掉;