>>> SubClass 有字段 ClassID 和表 Class 的 ID 字段一对多对应, List 有字段 SubClassID 和表 SubClass 的 ID 字段一对多对应。 嘻嘻, 看了半天没清楚,感觉这样才对呀!表 Class 一对多 SubClass 关系: Class.ID = SubClass.ClassID 表 SubClass 一对多 List 关系: SubClass.ID = List.SubClassID
是啊,按犬犬的说法可以这么做试试: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=...
若: 表 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就高效
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
楼上的,不用外连接不行的。 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 我自己解决了。结贴。
SubClass 有字段 ClassID 和表 Class 的 ID 字段一对多对应,
List 有字段 SubClassID 和表 SubClass 的 ID 字段一对多对应。
嘻嘻,
看了半天没清楚,感觉这样才对呀!表 Class 一对多 SubClass 关系: Class.ID = SubClass.ClassID
表 SubClass 一对多 List 关系: SubClass.ID = List.SubClassID
表 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就高效
from
Class c,SubClass s,List l
where c.id=s.ClassID and s.id=L.SubClassID
group by c.id
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
我自己解决了。结贴。