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;