# 针对各岗位的考试人数的奇偶性,按照规则计算其中位数所在范围
select job, round(if(if_oushu=0, (num+1)/2, num/2)) start, round(if(if_oushu=0, (num+1)/2, num/2+1)) end
from (
    # 添加奇偶性判断列
    select *, num%2=0 as if_oushu
    from (
        # 先查询各个岗位的考试人数
        select job, count(*) num 
        from grade
        group by job
    ) t1
) t2
order by job;

看了评论区大佬们的回答,我的真是个笨办法,不过也是个思路。所以记录下来~