标题:sql语句
只看楼主
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
结帖率:50%
已结贴  问题点数:10 回复次数:8 
sql语句
Class
Classid   classname
1    class1
2    class2
3    class3

student
studentid  studentname  classid  address
1         jim          3        shanghai
2         jane           1        beijin
….
Score
Scoreid   studentid       subject       score
1         2            english       60
2          4           math          70
….
1.    求出每个班级总分最高的同学(姓名,班级,总分)
2.    求出每科成绩最高的同学(姓名,班级,分数,科别)
3.    求出每科成绩最低的同学(姓名,班级,分数,科别)
搜索更多相关主题的帖子: sql 语句 
2010-05-11 08:40
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:2 
试试吧!(有的语句可能要调整后才能执行)
1. select s.name,b.classname,max(c.score) from class b inner jion student s on b.classid=s.classid  inner join score c on s.studentid=c.studentid group by s.name,b.classid
2. select s.name,b.classname,max(c.score),c.subject from class b inner jion student s on b.classid=s.classid  inner join score c on s.studentid=c.studentid group by s.name,c.subject
3. select s.name,b.classname,min(c.score), c.subject from class b inner jion student s on b.classid=s.classid  inner join score c on s.studentid=c.studentid group by s.name,c.subject

★★★★★为人民服务★★★★★
2010-05-11 14:45
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
得分:0 
不行,你没看我的题目吧

你微笑的面對整個世界,整個世界也將會微笑的面對你。
2010-05-11 16:35
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
得分:2 
1.select class.classname,x.studentname,max(tscore) mscore
from (select student.classid,student.studentid,student.studentname,sum(score) tscore from score inner join student on score.studentid=student.studentid
group by student.classid,student.studentid,student.studentname) x
inner join class on x.classid=class.classid
group by class.classname,x.studentname
2.select student.studentname,class.classname,y.score,y.subject
from student inner join class on student.classid=class.classid
inner join
(select score.scoreid,score.studentid,score.subject,score.score from score inner join
(select scoreid,subject,max(score.score) mscore from score
group by scoreid,subject,mscore) x on score.scoreid=x.scoreid and score.score=x.mscore) y
on student.studentid=y.studentid
3.select student.studentname,class.classname,y.score,y.subject
from student inner join class on student.classid=class.classid
inner join
(select score.scoreid,score.studentid,score.subject,score.score from score inner join
(select scoreid,subject,min(score.score) mscore from score
group by scoreid,subject,mscore) x on score.scoreid=x.scoreid and score.score=x.mscore) y
on student.studentid=y.studentid
2010-05-12 09:07
autobot
Rank: 4
等 级:业余侠客
帖 子:71
专家分:202
注 册:2007-9-6
得分:2 
第一,经典,学习的好例子;第二绝对是高手,佩服了。
2010-05-12 09:51
aina
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:91
专家分:117
注 册:2009-9-22
得分:2 
厉害啊!我的目标啊
2010-05-17 21:02
autobot
Rank: 4
等 级:业余侠客
帖 子:71
专家分:202
注 册:2007-9-6
得分:0 
我回去建 了一个库试了一下,有个问题,四楼的语句执行出来的是所有人的成绩分组,必需手动找每班出现的第一个人才是楼主要求的数据,能不能一上来就显示四行数据,就是最后要求的结果呢,谢谢四楼的前辈。
2010-05-19 11:10
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
得分:0 
哪个语句啊?
2010-05-19 18:06
autobot
Rank: 4
等 级:业余侠客
帖 子:71
专家分:202
注 册:2007-9-6
得分:0 
回复 8楼 aei135
三个都是呀。
2011-03-23 15:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306152-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.300232 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved