用SQL语句完成下列问题。

1、求每个学生所有选课成绩总和

2、求每个学生所有选课成绩的平均分

3、查询每门课程学生人数

4、查每个学生所有选课成绩中的最高分

5、统计查询每门课程的的最高分、最低分、平均分

6、统计每个学生选课成绩总和大于等于250分相关信息,要求显示学生ID、总分

7、统计每个学生所选课程成绩的平均分及格的信息并按平均分由高到低排列,要求显示学生ID及平均分

8、查询每门课程选修人数不小于30的相关信息,要求显示课程ID及人数

9、查所有选课成绩中的最高分不低于90的所有学生和最高分

10、查每个学生每门成绩都及格,并且平均成绩在85分上以的信息,要求显示学生ID,平均分,并按平均分降序排列

1、第一题,是查询总和,总和在SQL中使用sum,如:select sum(成绩) from 表名
2、第二题,查询平均值,SQl:select 学号,Avg(sum(成绩)) from 表名 group by 学号

3、第三题,查询每课程学生人数,SQL : select 课程名称,count(学号) from 表名 group by 课程名称
4、第四题,查询最高分,也就是最大值,select max(成绩),学号 from 表名 group by 学号
5、第五题,查询每科的最高分,SQL:select max(成绩),课程 from 表名 group by 课程 最低分 select min(成绩),课程 from 表名 group by 课程 平均分 select Avg(sum(成绩)),课程 from 表名 group by 课程
6、第六题 显示综合大于250分的信息 SQL: select 学生ID,sum(成绩) 总分 from 表名 where sum(成绩)>250 group by 学生ID
7、第七题 显示平均分 SQL:select 学生ID,Avg(sum(成绩)),课名 from 表名 where sum(成绩)>250 group by 学生ID,课名 order by Avg(sum(成绩)) asc
8、第八题 查询人数 SQL:select 课程ID,sum(学生ID) from 表名 where sum(学生ID)>=30 group by 课程ID
9、第九题 查询最高分 SQL:select max(成绩),课程,学生名字 from 表名 where max(成绩)>=90 group by 课程,学生名字
10、第十题 成绩>=60,平均分>85 SQL:select 学生 from 表名 where avg(sum(成绩))>85 and min(成绩)>=60 order by avg(sum(成绩)) desc

好辛苦,望采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-14
1
select count(*) from 借阅 where 读者号='xxxx' --xxxx换成读者号
2
select a.出版社,a.单价 from 图书 a,读者 b,借阅 c where a.书号=c.书号 and b.读者号=c.读者号and a.书名='xxxx' and b.姓名='yyyy' --xxxx和yyyy分别替换成书名和读者名
3,这个我没测试,不知道是不是你表达的意思
declare @数量 intdeclare @准备借阅数量 intselect @数量=c.允许借阅册数 from 图书 a,读者 b,借阅 c where a.书号=c.书号 and b.读者号=c.读者号 and b.姓名='yyyy'set @准备借阅数量=1if @数量-@准备借阅数量>0 begin print '允许借阅' endelse if @数量-@准备借阅数量<=0 begin print '超出允许借阅册数,不允许借阅' end
第2个回答  2014-11-14
1, select 姓名,sum(成绩) as 总成绩 from 数据表名 group by 姓名

3. select count(*) as 人数 ,课程名 from 数据表名 group by 课程名

3. select * from ( select count(*) as 人数 ,课程名,课程ID from 数据表名 group by 课程名,课程ID) where 人数>30

其他类推
第3个回答  2014-11-14
1、select sum( ke1,ke2,ke3) from table1 ;
2、select sum( ke1,ke2,ke3)/3 from table1 ;
3、select count(1) from table_kecheng;
第4个回答  2014-11-14
至少把用到表的结构贴出来吧。。
相似回答