大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接用sql就好了,如果是每个学生的平均成绩
成都创新互联专注于企业成都营销网站建设、网站重做改版、海港网站定制设计、自适应品牌网站建设、H5场景定制、商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为海港等各大城市提供网站开发制作服务。
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
select * from table order by 成绩 limit 10
union
select * from table order by 成绩 desc limit 10
update Ttbl t
set t.成绩 = t.成绩 + 3
where t.学生ID in
(
select a.学生ID from Ttbl a
where avg(a.成绩) = 72
)
表结构都不给出来,假设表中有姓名,课程,班级,成绩这几个字段。
方法可以给两个:
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.平均成绩