使用两个窗口函数作为辅助列,利用辅助列的值找出中位数排名的行
select id,job,score,t_rank from (select id,job,score, row_number() over(partition by job order by score desc) as t_rank, count(*) over(partition by job) count from grade g) as a where floor((count+1)/2)=t_rank&nbs***bsp;floor((count+2)/2)=t_rank order by id



京公网安备 11010502036488号