排名 名字 分数
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
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
解决方案 »
- 如何用C#连接 SQL SEVER 数据库
- 修改SQL Server 标示列 类型为 nvarchar(50)的语句怎么写啊?
- 关于取会计科目名称的SQL语句
- 问个错误
- View log reader agent status 无法中止--复制订阅的大难题
- TXT导入SQL
- 求一查询语句
- 服务器端的表为什么打不开?
- 请教如何实现数据库表中字段的修改.急!!!!!!!!!!!!!!!!!!!!!!!!
- 请问一下:yangzi、program、icevi、弱水……等等等等,你们每天有多少个小时在这里?
- 求一insert语句不插入到日志的方法。大虾求救
- 感觉比较复杂的数据合并与去重,高手们看看如何解决?
--> 测试数据:[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',96select * 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
*/
[名字],[分数] from test
2.DENSE_RANK() OVER()——重复,连续,1,1,2
3.ROW_NUMBER() OVER()——不重复,连续,1,2,3