# 针对各岗位的考试人数的奇偶性,按照规则计算其中位数所在范围 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;
看了评论区大佬们的回答,我的真是个笨办法,不过也是个思路。所以记录下来~