sql 语句 并列排名的问题. 要选出成绩前五名,但要考虑可能有多个同学并列第5名的问题.
发布网友
发布时间:2022-04-09 06:35
我来回答
共1个回答
热心网友
时间:2022-04-09 08:04
无论sqlserver 还是 oracle
用
rank() 或者 dens_rank() 函数。
select name,score,rank() over(order by score) tt from t;
如果有并列的话 . 他们后边的排序会变成这样的。 根据你的需求选用。
1
2
2
4
select name,score, dens_rank() over(order by score) tt from t;
1
2
2
3
感觉你用地2个,, dense_rank() 然后设置。 让 虚拟的这个排序列tt<=5