with median as(select job,round(if(num%2=1,num/2+0.5,num/2),0)as start,round(if(num%2=1,num/2+0.5,num/2+1),0)as `end` from( select job,count(*)as num from grade group by job)a order by job) select id,job,score,t_rank from( select id,a.job,score,row_number()over(partition by job order by score desc) ...