我有一个类别表,其中列出了大约35种可能的类别。然后我还有一个Item表,其中一个外键与category表中的一个类别相关。在我的索引页面上,我希望只显示每个类别中有多少项目。我只是不确定在构建更高效的查询和减少对数据库的调用数量方面,最好的方法是什么。
任何想法都会很棒
由于
答案 0 :(得分:5)
您正在寻找一个简单的聚合查询:
select c.categoryName, count(i.itemId) as NumItems
from category c left outer join
items i
on c.categoryID = i.categoryID
group by c.categoryName
order by NumItems desc
left outer join
获取所有类别,即使它们没有任何项目。