ID排名 id是有区别的

htn_77 2012-06-11 11:05:31
排名 名字 分数
1 aa 100
2 bb 99
3 cc 98
3 dd 98
4 ee 97
5 ff 96

排名 名字 分数
1 aa 100
2 bb 99
3 cc 98
4 dd 98
5 ee 97
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄_瓜 2012-06-11
  • 打赏
  • 举报
回复
select [排名]=ROW_NUMBER()over(order by [分数] desc),
[名字],[分数] from test
  • 打赏
  • 举报
回复

--> 测试数据:[test]
if object_id('[test]') is not null drop table [test]
create table [test]([排名] int,[名字] varchar(2),[分数] int)
insert [test]
select 1,'aa',100 union all
select 2,'bb',99 union all
select 3,'cc',98 union all
select 3,'dd',98 union all
select 4,'ee',97 union all
select 5,'ff',96

select * from(
select [排名]=ROW_NUMBER()over(order by [分数] desc),
[名字],[分数] from test
)t
where [排名]<=(select MAX([排名]) from test)

/*
排名 名字 分数
1 aa 100
2 bb 99
3 cc 98
4 dd 98
5 ee 97
*/
gogodiy 2012-06-11
  • 打赏
  • 举报
回复
1.RANK() OVER()——重复,不连续,1,1,3
2.DENSE_RANK() OVER()——重复,连续,1,1,2
3.ROW_NUMBER() OVER()——不重复,连续,1,2,3

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧