sql 语句 并列排名的问题. 要选出成绩前五名,但要考虑可能有多个同学并列第5名的问题.
展开全部
无论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
用
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询