with tmp as ( select job, min(r) as i, max(r) as m from (select job, score, row_number() over(partition by job order by score desc) as r from grade) as tb group by job ), tmp2 as ( select job, if((i+m) % 2 =0, round((i+m)/2), floor((i+m)/2)) as begin, if((i+m) % 2 =0, round((i+m)/2), ceil((i+m)/2)) ...