三张表
1. class 班级表 字段有classid(班级id) classname(班级名称) 2. student学生表 studentid studentname classid(关联class)
3.result 成绩表 resultid(成绩id) subject(科目)testDate(考试时间)achievement(成绩)studentid(学生id)查找2013年8月23日全班数学平均分大于60的班级的班级名称(没有参加考试的学生视为0分)。成绩表里1班只有一个学生参加了考试, 1班有5个人。也就是说成绩表只查出1班一个学生,平均分要按照班级人数算。
1. class 班级表 字段有classid(班级id) classname(班级名称) 2. student学生表 studentid studentname classid(关联class)
3.result 成绩表 resultid(成绩id) subject(科目)testDate(考试时间)achievement(成绩)studentid(学生id)查找2013年8月23日全班数学平均分大于60的班级的班级名称(没有参加考试的学生视为0分)。成绩表里1班只有一个学生参加了考试, 1班有5个人。也就是说成绩表只查出1班一个学生,平均分要按照班级人数算。
select classname from class
where classid in
(select classid from
(select b.classid,sum(c.resultid)/count(b.studentid) avg
from student b,result c
where b.studentid=c.studentid
and testDate='2013-8-23'
group by b.classid)
where avg>60);
from class a,student b,result c
where a.classid=b.classid and b.studentid=c.studentid and testDate='2013-8-23' and subject='数学'
group by a.classid
having avg(c.achievement)>60