SELECT a.id,a.job,a.score,a.t_rank
FROM
(select *,ROW_NUMBER() over(partition by job order by score desc) as t_rank
from grade) a 
left join 
(select job,FLOOR((COUNT(job)+1)/2) as 'start',ceil((count(job)+1)/2) as 'end'
from grade GROUP by job) b
on a.job = b.job
where a.t_rank>=b.start and a.t_rank<=b.end
ORDER by a.id