重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接用sql就好了,如果是每个学生的平均成绩
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了滦南免费建站欢迎大家使用!
select number, name, birth, sex, (yuwen+shuxue+yingyu)/3 as average from t
如果是全部的平均成绩:
select avg(yuwen) as yuwen, avg(shuxue) as shuxue, avg(yingyu) as yingyu from t
表结构都不给出来,假设表中有姓名,课程,班级,成绩这几个字段。
方法可以给两个:
1、使用关联子查询
Select 姓名,课程,班级,成绩
From 表 a Where a.成绩(Select avg(b.成绩) From 表 b where a.课程=b.课程 and a.班级=b.班级)
2、先按照班级和课程求平均成绩,然后进行连接查询
Select a.姓名,a.课程,a.班级,a.成绩
From 表 Inner Join (select 班级,课程,avg(成绩) 平均成绩 From 表 Group By 班级,课程) b
on a.课程=b.课程 and a.班级=b.班级 and a.成绩b.平均成绩
获取每一个科目最高分的学生
select sid,cid,max(score) from score group by cid;
然后分别和学生表、课程表联合查询取出科目名字和学生名字就ok了
写成单条sql:
select * from (select s.sid,s.realname,a.cid,a.mscore from student as s right join (select sid,cid,max(score) as mscore from score group by cid)as a on a.sid = s.sid) as a1 left join ((select c.coursename,c.cid from course as c right join (select sid,cid as mscore from score group by cid)as a on a.cid = c.cid) ) as b1 on a1.cid = b1.cid;
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,点击左上角“新建查询”选项。
3、接着在该界面中,输入查询学生平均成绩及其名次的sql语句“select name,AVG(grade),no from test2 group by name,no”。
4、然后在该界面中,点击左上方“执行”按钮。
5、最后在该界面中,显示学生平均成绩及其名次成功。