思路:中位数的计算方法,开始位置floor((max+min)/2),结束位置需要判断奇偶,奇数+1,偶数不变
select
job
,floor((max(rk)+min(rk))/2) start
,if((max(rk)+min(rk)) mod 2 = 1,floor((max(rk)+min(rk))/2)+1,floor((max(rk)+min(rk))/2)) end
from
(
select
*
,row_number()over(partition by job order by score) rk
from grade
) a
group by 1
order by 1