找出每个学生超过他选修课程平均成绩的课程号 书上有个例子:
sql吧
全部回复
仅看楼主
level 2
lj01084 楼主
select Sno,Cno
from SC x
where Grade >=(select AVG(grade)
from SC y
where y.Sno=x.Sno)
但是这样查询的话,每个学生的平均成绩会被求很多次,这不科学!!!
求教每个学生的平均成绩只求一次的SQL算法
2012年05月07日 05点05分 1
level 2
lj01084 楼主
求教每个学生的平均成绩只求一次的SQL算法!!![啊!]
2012年05月07日 05点05分 2
level 2
lj01084 楼主
求教啊
2012年05月07日 05点05分 3
level 8
用having吧!!
2012年05月07日 06点05分 4
level 6
同求 怎么写?@紫电清霜鱼肠 
2012年05月07日 07点05分 5
level 8
表结构说一下,具体点
2012年05月07日 09点05分 6
level 2
lj01084 楼主
已知三张表结构如下:
学生(学号,姓名,年龄,性别)
选修(学号,课程号,成绩)
课程(课程号,课程名称,教师名,学时数)
2012年05月07日 09点05分 7
level 2
lj01084 楼主
2012年05月07日 12点05分 8
level 1
能不能详细说说撒,同求
2013年05月04日 11点05分 9
level 4
不懂帮顶学习
2013年05月06日 01点05分 10
level 1
我也发现了书上的答案有问题,他的事所有课程成绩加起来算的平均值,而且有的分数不只出现过一次.
这个是求每个课程的平均成绩的
select y.cno,avg(y.grade)
from sc y
group by y.cno
但是我不知道如何把它放入循环语句
select sno,cno
from sc x
where x.grade >= (select avg(y.grade)
from sc y
group by y.cno);
这样会报错.
2020年04月11日 13点04分 12
1