有表Student如下
学号 姓名 成绩
041201 A 94
041202 B 75.5
041203 C 82
要求Select 学号 姓名 成绩 和 排名
选择效果如下:
学号 姓名 成绩 排名
041201 A 94 1
041202 B 75.5 3
041203 C 82 2
学号 姓名 成绩
041201 A 94
041202 B 75.5
041203 C 82
要求Select 学号 姓名 成绩 和 排名
选择效果如下:
学号 姓名 成绩 排名
041201 A 94 1
041202 B 75.5 3
041203 C 82 2
From Student A
(学号 Char(6),
姓名 Varchar(10),
成绩 Numeric(10,1))
Insert Student Select '041201', 'A', 94
Union All Select '041202', 'B', 75.5
Union All Select '041203', 'C', 82
Union All Select '041205', 'D', 82
GO
Select A.*,(Select Count(*)+1 From Student Where 成绩>A.成绩) As 排名 From Student A Order By 排名Select A.*,(Select Count(Distinct 成绩 )+1 From Student Where 成绩>A.成绩) As 排名 From Student A Order By 排名
Go
Drop Table Student
--Result
/*
学号 姓名 成绩 排名
041201 A 94.0 1
041203 C 82.0 2
041205 D 82.0 2
041202 B 75.5 4学号 姓名 成绩 排名
041201 A 94.0 1
041203 C 82.0 2
041205 D 82.0 2
041202 B 75.5 3
*/