2015-04-01 2 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" 

Когда все столбцы пусты, функция подсчета возвращает одну строку и всю функцию возвращения истинного. Итак, каково решение этой проблемы?

+3

BEcause у вас нет 'group by' добавить' group by category.id' в конец –

+0

'COUNT (training.id)' по крайней мере вернет одну строку, содержащую «0». – bloodyKnuckles

+0

Спасибо, работает. Маленькие изменения всегда делают большие различия xD –

ответ

0

Если вы не группируете ответы по какой-либо категории, она будет считать все, что возвращается, и даст вам один ответ. Таким образом, предполагается, что все совокупные функции (count, sum, min, max и т. Д.) Должны функционировать.

Итак, вопрос в том, что вы хотите считать. Добавить пункт group by <blah>, где <blah> - это предмет, который вы хотите подсчитать.

Смежные вопросы