第一题去掉group by ,left join改为inner join
第二题:
select class.id,max(class.name),count(*) from .......   group by class.id
第三题:自己写group by +having count(*)>30

解决方案 »

  1.   

    我有几个疑问,第一个问题:第二题,并没有需要我查询CLASS.ID ,也没有让用到MAX()函数。 
    第二个问题 如果使用COUNT(*)的话 ,如果列表存在空列表NULL的话,这样的话学生总人数的值应该会变大把。
    第三个问题为啥不能用CLASS.NAME 进行分组。
    如果觉得我哪里说的不对的话,请指出,谢谢你愿意花时间为我答疑
      

  2.   

    第一个,那你id去掉好了,max是一定要的不然会报错,因为name不是分组项
    第二个,统计数量只能用count,sum是求和意思,1,2,,3求和就变6了不是3个人
    第三个,最好用ID分组,因为ID是唯一的,NAME的话可能会出现同名同姓的人