select count(*) from list where ...

解决方案 »

  1.   

    >>>
    SubClass 有字段 ClassID 和表 Class 的 ID 字段一对多对应,
    List 有字段 SubClassID 和表 SubClass 的 ID 字段一对多对应。
    嘻嘻,
    看了半天没清楚,感觉这样才对呀!表 Class     一对多 SubClass  关系: Class.ID = SubClass.ClassID
    表 SubClass  一对多 List      关系: SubClass.ID = List.SubClassID
      

  2.   

    是啊,按犬犬的说法可以这么做试试:SELECT COUNT(t.SubClassID) FROM List t LEFT JOIN SubClass s ON s.ID=t.SubClassID LEFT JOIN Class c ON c.ID=s.ClassID WHERE c.ID=...
      

  3.   

    若:
    表 Class     一对多 SubClass  关系: Class.ID = SubClass.ClassID
    表 SubClass  一对多 List      关系: SubClass.ID = List.SubClassID
    则:
    现在要统计属于 Class 表中分类的 List 数:
    select c.id,count(l.id) 
    from 
    Class c,SubClass s,List l
    where c.id=s.ClassID and s.id=L.SubClassID
    没有什么高效不高效的说法,你把Class.ID,SubClass.ClassID,List.SubClassID建为index就高效
      

  4.   

    select c.id,count(l.id) 
    from 
    Class c,SubClass s,List l
    where c.id=s.ClassID and s.id=L.SubClassID
    group by c.id
      

  5.   

    楼上的,不用外连接不行的。
    SELECT Class.ID, Class.Name, COUNT(Temp.ID) AS Count FROM Class LEFT JOIN (SELECT List.ID, ClassID FROM List, SubClass WHERE SubClassID=SubClass.ID) AS Temp ON Class.ID=ClassID GROUP BY Class.ID
    我自己解决了。结贴。