不要count(*)就可以了
select distinct a.belong as Idb.parentid as IdCount from Edu_Book as a inner join Edu_BookDir as b on a.belong=b.id group by a.belong order by a.belong  

解决方案 »

  1.   

    b.parentid 不是聚集函数,也不是分组字段,当然会ERROR!
      

  2.   

    不行啊,我试了,未遂,而且我还是需要这个count(*)的
      

  3.   

    LUJUN(陆天) 
    那应该怎么办?如何修改?
      

  4.   

    为什么去掉count(*)呢?可以解释一下么?
      

  5.   

    谢谢各位,大家帮忙呀
    LUJUN(陆天) 
    应该如何修改呢?
      

  6.   

    假如没理解错你的意思
       将   count(*),b.parentid as IdCount 
       改为 count(b.parentid)  as IdCount 
      

  7.   

    b.parentid 是啥意思?能去掉b.parentid吗?
      

  8.   

    不要DISTINCT, 在GROUP BY加入b.parentid 就行了
    select a.belong as Id,count(*),b.parentid as IdCount 
      from Edu_Book as a inner join Edu_BookDir as b 
       on a.belong=b.id 
     group by a.belong, b.parentid另: 如果ORDER BY的字段和GROUP BY一样的话,不需要另外加上ORDER BY. GROUP BY自动根据所列的字段排序
      

  9.   

    我这是对两个表操作,一个是内容,由belong对应浏览目录表的id,b.parentid是浏览目录表的一个字段,为当前目录的上一级目录id,count(*)与 group by belong是为了查清属于一个目录的记录有多少 
      

  10.   

    我这是对两个表操作,一个是内容,由belong对应浏览目录表的id,b.parentid是浏览目录表的一个字段,为当前目录的上一级目录id
      

  11.   

    KingSunSha(弱水三千) 
    谢谢,谢谢,能解释一下为什么group by中要加上b.parenti么?