select
job
,case when medium = round(medium, 0) then round(medium,0) else round(medium+0.5,0) end as start # medium = round(medium,0)判断是否medium是小数,进而可以确定count(*)是奇数还是偶数,然后start和end分情况讨论
,case when medium = round(medium, 0) then round(medium+1,0) else round(medium+0.5,0) end as end
from (
        select
        job
        ,count(*)/2 medium
        from grade
        group by 1
     ) a
order by job;