注册 登录
编程论坛 SQL Server论坛

求助:一些查询问题。求大大帮忙

发布于 2010-06-03 21:14, 763 次点击
Class 表

cid    class     
1    高一(1)班
2    高一(2)班
3    高一(3)班

Student 表

sid    name    cid
1    小红    3
2    小明    1
3    小刚    2
4    小欢    1
5    小龙    3

Result 表

rid    result    subject    sid
1    60    语文    2
2    90    数学    1
3    100    语文    3
4    80    数学    4
5    89    数学    5
6    70    语文    5
7    88    语文    4
8    69    数学    3
9    77    语文    1
10    92    数学    2

查询各科成绩最高的学生 (班级,学生,课目,分数)?

查询总成绩最高的学生 (班级,学生,课目,分数)?

查询总成绩最低的学生 (班级,学生,课目,分数)?

查询总成绩最高的班级(班级,总分数)?

查询平均分最高的班级(班级,课目,分数)?

查询平均分最低的班级(班级,课目,分数)?
8 回复
#2
2010-06-03 21:25
在线等、

#3
2010-06-03 21:43


没人么、?
#4
2010-06-03 22:47
先睡觉。

明天早上起来看。 。

 希望有解答。 。。。
#5
2010-06-05 02:34


 还是没人回答

#6
aei1352010-06-05 17:46
1.select a.class,b.name,c.subject,c.result from class a,student b,
result c,(select subject,max(result) maxscore from result group by subject) d where a.cid=b.cid and b.sid=c.sid and c.subject=d.subject
and c.result=d.maxscore
2.select a.class,b.name,c.tresult from class,student,(select top 1 sum(result) tresult,sid from result group by sid order by tresult desc) c where a.cid=b.cid and b.sid=c.sid
3.select a.class,b.name,c.tresult from class,student,(select top 1 sum(result) tresult,sid from result group by sid order by tresult) c
where a.cid=b.cid and b.sid=c.sid
4.select top 1 a.class,sum(result) totalscore from class a inner join student b on a.cid=b.cid inner join c on b.sid=c.sid group by a.class order by totalscore desc
5.select top 1 a.class,c.subject,avg(result) avgscore from class a inner join student b on a.cid=b.cid inner join c on b.sid=c.sid group by a.class,c.subject order by avgscore desc
6.select top 1 a.class,c.subject,avg(result) avgscore from class a inner join student b on a.cid=b.cid inner join c on b.sid=c.sid group by a.class,c.subject order by avgscore
#7
lycheeva2010-06-05 23:36
这个简单啊,把表连接起来查询就好了
#8
markjet2010-06-06 11:10
查询条件够多的啊!
#9
2010-06-06 16:19
感谢6L版主大大。。
1