查询学生信息表班级的平均成绩

Posted 江湖@小小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询学生信息表班级的平均成绩相关的知识,希望对你有一定的参考价值。


1.然后新建一张学生表(T_User),拥有两个字段:id、姓名,学生表的id匹配表A里的学生id,查询语句通过连接实现(不考虑内外或者交叉连接的问题了),代码如下:

select UName,
(select AVG(Grades) from UserInfo where GName = '语文' and UName = tu.name) as '语文',
(select AVG(Grades) from UserInfo where GName = '数学' and UName = tu.name) as '数学',
(select AVG(Grades) from UserInfo where GName = '英语' and UName = tu.name) as '英语' 
from UserInfo as ui join T_User as tu
on ui.UName = tu.name
group by ui.UName,tu.name;

2.查询不同班级,不同课程的平均成绩,按照平均成绩从大到小排序
class表(id,class_name);

student表(id,student_name,class_id)

score表(student_id,course_name,points)


查询不同班级不同课程的平均分,从大到小排序。

select 
c.class_name,s.course_name ,avg(points) 
from class c 
left join student stu on c.id=stu.class_id
left join score s on s.student_id = stu.id 
group by c.id,s.course_name 
order by avg(points) desc;


UNION
union:对两个结果集进行并集操作,重复数据只显示一次
union All:对两个结果集进行并集操作,重复数据全部显示

以上是关于查询学生信息表班级的平均成绩的主要内容,如果未能解决你的问题,请参考以下文章

怎样编写SQL语句求平均成绩

怎样编写SQL语句求平均成绩

学生成绩管理系统的c语言程序

sql 如何查询每个班级中的最高分

MySQL查询练习

sql 如何查询每个班级中的最高分