select distinct t_id,name,round(avg(score),2) as 'score' from grade,teacher where t_id=teacher.id group by t_id,name
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写出来。这样会加快问题的回答速度。
--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
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
出现了错误: 列 'teacher.name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
from grade,teacher
where t_id=teacher.id
group by t_id,name
from grade inner join teacher on grade.t_id = teacher.id
group by grade.t_idBTW, 在询问跟自己定义的表相关的问题时最好把表的schema写出来。这样会加快问题的回答速度。
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
from grade A inner join teacher B
on A.t_id=B.id
group by t_id
列 'teacher.name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。