2015-04-01 100 views
0

我有这样的查询使用PDO为什么count函数返回一行?

"SELECT category.id AS id, category.static_name AS static_name, category.name AS name, COUNT(training.id) AS trainings_count 
     FROM category 
     JOIN training ON training.cat_id = category.id" 

当所有列是空的,count函数返回一行,整个函数返回true。那么这个问题的解决方案是什么?

+3

由于您没有'group by'在末尾添加'group by category.id' – 2015-04-01 13:56:13

+0

'COUNT(training.id)'至少会返回一个包含“0”的行。 – bloodyKnuckles 2015-04-01 14:00:42

+0

谢谢,作品。小变化总是与xD有很大不同 – 2015-04-01 14:01:57

回答

0

如果您没有按照某个类别对答案进行分组,那么它会计算返回的所有内容并给出一个答案。这是所有集合函数(计数,总和,最小值,最大值等)应该起作用的方式。

所以问题是,你想要一个数。添加条款group by <blah>其中<blah>是您要计算项目的项目。

相关问题