mssql sqlserver 如何使用sql脚本对学生考试成绩进行排名呢?


摘要:
在平常的工作,我们每次考试完,都需要对学生的成绩进行一个排名,
在排名中经常会出现并列第一,并列第** 等等这样的情况,下文将通过例子的形式讲述使用sql对数据进行排名的方法,如下所示:

实现思路:
使用rank和order by 关键字对数据进行排名操作,

rank 遇到相同的数据,会使用相同的序号,但后续的排序号会跳过占用的顺序号

create table [maomao365.com]
(studentName nvarchar(30),
 score decimal(10,1)
 )
 go

 insert into [maomao365.com]
 (studentName,score)
 values
 (N'张三',100),
 (N'猫猫',98),
 (N'小屋',60),
 (N'blog',100),
(N'李四',70),
(N'王二',98)
go

select studentName,score,
rank() over(order by score desc ) 
as [排名] 
 from [maomao365.com]

 go
 truncate table  [maomao365.com]
 drop     table  [maomao365.com]
mssql_sqlserver_rank排名方法

mssql_sqlserver_rank排名方法