大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
表结构都不给出来,假设表中有姓名,课程,班级,成绩这几个字段。
创新互联建站主要从事网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务靖江,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
方法可以给两个:
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.平均成绩
可以这样写MySQL生成表查询,并添加新字段:
create table 成绩 as (
select a.学号,b.课程号,
0 as 成绩,
order by a.学号,b.课程号);
注: 上面语句中的“0 as 成绩”就是新添加的字段
由于两张关联表里没有学生的各科考试成绩,需要事后人工更新每个人每科的成绩分数。
另外请注意,由于这种方法添加的新字段的数据类型不太准确,其实并不好用。最好还是利用数据定义查询添加新字段。
select
*
from
(select
*
from
user
order
by
date
desc)
as
u
group
by
u.user_id
limit
0,10;
试试这个,这里表名用的是user,替换成你自己的吧。如果不是你想要的,可以加我百度hi好友,根据你的具体要求来解决。