with t1 as (
    select job, 
    (case when MOD(count(score), 2) = 1 then CONVERT(count(score)/2, SIGNED INTEGER) else CONVERT(count(score)/2, SIGNED INTEGER) end ) as start,
    (case when MOD(count(score), 2) = 1 then CONVERT(count(score)/2, SIGNED INTEGER) else CONVERT(count(score)/2, SIGNED INTEGER)+1 end ) as end
    from grade
    group by job
),
t2 as (
    select id, job, score, 
    Dense_rank() OVER (PARTITION BY job ORDER BY score DESC) as t_rank
    from grade
),
t3 as (
    select t2.*
    from t1
    left join t2
    on t1.job = t2.job
    and t1.start = t2.t_rank
),
t4 as (
    select t2.*
    from t1
    left join t2
    on t1.job = t2.job
    and t1.end = t2.t_rank
)
select t3.*
from t3
union 
select t4.*
from t4
order by id;