【发布时间】:2015-10-23 14:49:16
【问题描述】:
我是一个新手,一直坚持这个案例 我有两张桌子
类别 - 猫号 - 猫名
产品 - 产品编号 - 猫号 - 产品名称
我想在显示带有计数产品的类别时计算类别中有多少产品,并且我正在使用此查询
SELECT * , COUNT(Product.ProductId) AS NumberProducts FROM Category
JOIN Product
ON Category.CatId = Product.CatId
GROUP BY Product.CatId
如果我在产品表中存在带有 catid 的产品,则此查询才有效,如果不是,我的类别不会显示在类别列表中,类别将消失。
请帮忙。提前致谢
【问题讨论】:
-
确定你想要真正分组的列(不是 *)
-
select s.col1,s.col2,t.colA,count(t.colB) from table1 s join table2 t on (something) group by s.col1,s.col2,t.colA
-
Google 并了解 SQL 中的 GROUP BY 子句。
-
@Drew:我正在尝试您的建议,但它不起作用。也许我使用了不正确的语法:(
-
如果您显示两个表的架构以及每个表的
show create table xxx以及您真正想要显示的内容(而不是选择 *),我们会提供帮助