学生表里有张三,李四  课程表里有数学,语文,历史 (成绩是随便的) 
查询每个学生的每个科目的平均成绩 
create table xb(学生表) 

xid(学生编号)    int(5) auto_increment primary key, 
xnm(学生姓名)    varchar(10) not null 
)type=innodb 
create table kb(课程表) 

kid(课程编号)  int(5) auto_increment primary key, 
knm(课程名称)  varchar(10) not null 
)type=innodb 
create table zhb(组合表) 

xid(学生编号)  int(5), 
kid(课程编号)  int(5), 
ksj(考试时间)  datetime, 
kcj(考试成绩)  smallint, 
foreign key(xid) references xb(xid), 
foreign key(kid) references kb(kid), 
primary key(xid,kid,ksj) 
)type=innodb 

解决方案 »

  1.   

    每个学生的每个科目的平均成绩 
    -->>怎么看怎么觉得楼主的话有问题
      

  2.   

    建议给出一些测试用例,以及你期望的正确结果。
    select xid,kid,avg(kcj)
    from zhb
    group by xid,kid
      

  3.   

    [code=SQL][/cselect
     b.xid AS 学生
    ,c.knm AS 科目
    ,AVG(a.kcj) AS 平均成绩 
    from zhb a
    join xb b on a.xid=b.xid
    join kb c on a.kid=c.kid
    group by b.xid,c.knm
    ode]
      

  4.   

    select
    b.xid AS 学生
    ,c.knm AS 科目
    ,AVG(a.kcj) AS 平均成绩
    from zhb a
    join xb b on a.xid=b.xid
    join kb c on a.kid=c.kid
    group by b.xid,c.knm