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之神

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务