一个排序sql的实现

来源:互联网 发布:微博客户端电脑版mac 编辑:程序博客网 时间:2024/05/29 18:27

在网上看到一个提问,对于一个表,只有两个字段(姓名、成绩),怎么样用sql实现排名

一个网友的回答是这样的回答的,看了之后才发觉自己sql方面有很多技巧没有掌握

declare @Course table(name varchar(100),成绩 int)
insert into @Course
select 'a',99
union all
select 'b',66
union all
select 'c',88
--1
select * from @course
--2
select (select 1+count(name) from @Course where 成绩>t.成绩) as 名次,name,成绩
from @Course t
--3
select * from (
select (select 1+count(name) from @Course where 成绩>t.成绩) as 名次,name,成绩
from @Course t
) tmp

这样就可以实现sql对一张表的排名了

原创粉丝点击