有一个sql语句如下
  select avg(grade)from score where score.id in (select student.id from student where              clazz='10网络2')group by score.id   
  这样写能查到平均分,但要改成下面这样就有有异常:
    select score.id avg(grade)from score where score.id in (select student.id from student where              clazz='10网络2')group by score.id 
    就加了个score.id就不行了,这是什么原因,该怎么解决?急急急,求大侠帮帮忙
 

解决方案 »

  1.   

    select score.id avg(grade)from score where score.id in (select student.id from student where              clazz='10网络2')group by score.id 
    没逗号 score.id 后面加逗号select score.id ,avg(grade)from score where score.id in (select student.id from student where              clazz='10网络2')group by score.id 
      

  2.   

    另外mysql要禁止用in(select子查询)改成这样
    select A.id,avg(A.grade) 
    from score A, student  B
    where A.id=B.id and B.clazz='10网络2'
    group by A.id
      

  3.   

    提示什么
    select score.id,avg(grade)from score where score.id in (select student.id from student where clazz='10网络2')group by score.id select score.id avg(grade)from score 
    inner join student on score.id=student.id
    where studen.clazz='10网络2' group by score.id 
      

  4.   

    语法错误。如果看一下MYSQL的错误提示其实会告诉哪儿有错。 少了个逗号。