主题:求助,如何查寻
gudujian308
[专家分:0] 发布于 2006-02-27 14:57:00
有一张成绩表(course),只有两个字段,姓名(name)和成绩(score)。怎样用
一个SQL语句查询出某个学生的姓名,成绩以及在成绩表中的排名?
表结构如下:
表名:Course
姓名字段:name
成绩字段:score
如何查成绩表中的排名啊??
回复列表 (共25个回复)
21 楼
kkzjk [专家分:440] 发布于 2006-10-29 09:45:00
select name ,score,
(select count(A.score) from (select Distinct score from course) A where A.score >= course.score) as 名次
from course
22 楼
xibeilang [专家分:60] 发布于 2006-11-16 23:08:00
select Rownum,name, score from (select name, score from course order by score desc)
--说明:
rownum 是行号,这句查出来的结果,rownum的值就是名次!
23 楼
wlhmol [专家分:150] 发布于 2006-11-19 16:36:00
我估计是 他想要的是
a b c d 4个的成绩是 10 30 20 40
排一下就是 d b c a 40 30 20 10
查询a 的时候显示 a,成绩10 排名 第4 ,
主要做的是算出排名第几,用楼上的方法排列出来后
dim i
i=0
do while not rs.eof
i=i+1
if rs(名字) != a then exit do
rs.movenext
loop
这个i 就是排名了
这样成绩,姓名,排几都有了
24 楼
wlhmol [专家分:150] 发布于 2006-11-19 16:38:00
嗯,好象写错了好象应该是 rs (姓名)<>"a" VBSCRIPT 语言是 <>的写法
25 楼
Leo64823900 [专家分:960] 发布于 2006-11-20 14:46:00
16 楼给出了查询的思路。
20 楼给出了正确的 SQL 语句。
我来回复