我有2个表,我正在尝试进行一个查询以节省一些工作.
Table 1: id,category id,colour Table 2: category id,category name
我想加入他们,以便我获得id,类别ID,类别名称,颜色
然后我想限制它,以便没有选择“红色”项目(WHERE color!=“red”)
然后我想计算每个类别中的记录数(COUNT(id)GROUP BY(类别ID).
我已经试了:
SELECT COUNT(table1.id),table1.category_id,table2.category_name FROM table1 INNER JOIN table2 ON table1.category_id=table2.category_id WHERE table1.colour != "red"
但它只是不起作用.我尝试了很多变化,当我尝试上面的查询时,没有得到任何结果.
解决方法
您必须使用GROUP BY才能返回多条记录,
SELECT COUNT(*) TotalCount,b.category_id,b.category_name FROM table1 a INNER JOIN table2 b ON a.category_id = b.category_id WHERE a.colour <> 'red' GROUP BY b.category_id,b.category_name