mtwm.net
当前位置:首页 >> sql查询成绩高于平均成绩 >>

sql查询成绩高于平均成绩

前面1~5都比较简单,我就单说问题6:这个问题的本意其实是让你写2条sql语句,而不是一条.所以问题就简单了:①分组使用select 数学成绩 from grade group by 数学成绩②select 姓名 "学生姓名" , (数学成绩 + 英语成绩 + 计算机成绩)/3 “平均成绩” from grade where 数学成绩 > 60严格意义上来说,这道题出的有问题.

select 学号,姓名,avg(成绩) as '平均成绩' from 学生成绩表 where avg(成绩) > 90 order by avg(成绩) desc这样试试

select 学号 from 学习 where 课程号 in (select t5.课程号 from 学院 t1, 学生 t2, 教师 t3, 课程 t4, 学习 t5, 开课 t6 where t1.学院代码 = t2.学院代码 and t2.学院代码 = t3.学院代码 and t2.学号 = t5.学号 and t3.教师号 = t6.教师号 and t4.课程号 = t5.课程号 and t4.课程号 = t6.课程号 group by t5.课程号 having count(t5.学号) >= 2)

insert into excellent select * from student where (Chinese+Maths+English)/3>=80

select * from sc a where gradefrom sc b where a.cno=b.cno) 请根据具体的数据库对sql语句作出适当的修改!

由于不知道原题目,只能假设了,假设学号:No;成绩: score ;选修课程:kc; 从成绩表 sc中查询 select No,score from sc where kc='计算机文化学' and score >( select avg(score) from sc where kc='计算机文化学') 将假设的字段和表名换成拟题目中的字段和表名

就是一下思路,第一条就是最高的,最后一条就是最低的,COUNT(1),就是统计学生的成绩次数 select * from(select sum(学生成绩)/count(1) as 平均成绩,学生学号 from 学生成绩表 group by 学生学号) order by 平均成绩 DESC

CREATE TABLE #学生表( 学生号 INT, 姓名 VARCHAR(10), 性别 VARCHAR(2), 年龄 INT); CREATE TABLE #课程表 ( 课程号 INT, 课程名 VARCHAR(10)); CREATE TABLE #成绩表( 学生号 INT, 课程号 INT, 成绩 INT);

SELECT student.S'学号',Sname'姓名',AVG(score)'平均成绩' FROM student INNER JOIN sc ON student.S=sc.S GROUP BY student.S HAVING AVG(score)>=85

SELECT * FROM CourseScore WHERE Course = '数学' AND Score > ( SELECT AVG(Score) FROM CourseScore WHERE Course = '数学' ) 更通用一些的:SELECT A.* FROM CourseScore A JOIN (--查询各科目的平均成绩 SELECT

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com