在网上看到一个提问,对于一个表,只有两个字段(姓名、成绩),怎么样用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对一张表的排名了
博客围绕用SQL实现表中数据排名展开。针对只有姓名和成绩两个字段的表,展示了网友给出的实现排名的SQL代码,包括表的声明、数据插入及排名查询语句,让人意识到SQL有很多技巧待掌握。
599





