首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

ID排名 id是有区别的解决方案

2012-06-14 
ID排名 id是有区别的排名名字分数1aa1002bb993cc983 dd984ee975ff96排名名字分数1aa1002bb993cc984 dd985e

ID排名 id是有区别的
排名 名字 分数
1 aa100
2bb99
3cc98
3 dd98
4ee97
5ff96

排名 名字 分数
1 aa100
2bb99
3cc98
4 dd98
5ee97

[解决办法]

SQL code
--> 测试数据:[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 allselect 2,'bb',99 union allselect 3,'cc',98 union allselect 3,'dd',98 union allselect 4,'ee',97 union allselect 5,'ff',96select * from(select [排名]=ROW_NUMBER()over(order by [分数] desc),[名字],[分数] from test)twhere [排名]<=(select MAX([排名]) from test)/*排名    名字    分数1    aa    1002    bb    993    cc    984    dd    985    ee    97*/
[解决办法]
SQL code
select [排名]=ROW_NUMBER()over(order by [分数] desc),[名字],[分数] from test
[解决办法]
1.RANK() OVER()——重复,不连续,1,1,3
2.DENSE_RANK() OVER()——重复,连续,1,1,2
3.ROW_NUMBER() OVER()——不重复,连续,1,2,3

热点排行