查询学生信息表班级的平均成绩
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:对两个结果集进行并集操作,重复数据全部显示
以上是关于查询学生信息表班级的平均成绩的主要内容,如果未能解决你的问题,请参考以下文章