select distinct t_id,name,round(avg(score),2) as 'score'
from grade,teacher
where t_id=teacher.id
group by t_id

解决方案 »

  1.   

    select distinct t_id,name,round(avg(score),2) as 'score'
    from grade,teacher
    where t_id=teacher.id
    group by t_id,name
      

  2.   

    select grade.t_id,teacher.name,round(avg(grade.score),2) as 'score'
    from grade inner join teacher on grade.t_id = teacher.id
    group by grade.t_idBTW, 在询问跟自己定义的表相关的问题时最好把表的schema写出来。这样会加快问题的回答速度。
      

  3.   

    --try
    select t_id,name=max(teacher.name),round(avg(score),2) as 'score'
    from grade A inner join teacher B
    on A.t_id=B..id
    group by t_id
      

  4.   

    select t_id,name=max(teacher.name),round(avg(score),2) as 'score'
    from grade A inner join teacher B
    on A.t_id=B.id
    group by t_id
      

  5.   

    出现了错误:
    列 'teacher.name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  6.   

    Sorry, teacher.name要么如zlp321002所说包含在一个聚合函数里,要么如vovo2000所说包含在group by里。