SQL:分组内前几排名
假设student表,有id列、class列、score列,让你求每个班分数前五的学生id
核心:
使用row_number函数,partition by class,order by score desc即可
解:
with t1 as
( select *,
row_number() over (partition by class order by score desc) as rn
from student
)
select id,class,rn
from t1
where rn<=5
SQL学习笔记 文章被收录于专栏
学习sql,当sql之神