查询出每个班级成绩是第一名的同学
--其中partition by 为分组,即通过class分组,然后根据score排序
select s.name,s.class rank() over(partition by s.class order by s.score) as S from student as s
select s.name,s.class densen_rank() over(partition by s.class order by s.score) as S from student as s
select s.name,s.class row_number() over(partition by s.class order by s.score) as S from student as s
rank搜索出来的结果直接1,1,3了,而densen_rank搜索出来直是1,1,2,row_number()搜索出来是1,2,3
本文介绍如何使用SQL查询每个班级中成绩排名第一的学生。通过三种不同的排名函数:rank(), dense_rank(), row_number()来实现这一目标,并展示了它们在处理相同数据时的不同表现。
2429

被折叠的 条评论
为什么被折叠?



