2015-04-01 131 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>是您要計算項目的項目。

相關問題