@dlyatupyhvoprosov

Как сделать, чтобы GROUP BY выводил запросы, где count(column) >= 0?

SELECT `categories`.`id`, count(`redirects`.`category_id`) 
FROM `categories`
INNER JOIN `redirects`
ON `categories`.`id` = `redirects`.`category_id`
WHERE 1
GROUP BY `redirects`.`category_id`


Выводит только совпадения, где больше одного, но хотелось бы, чтобы выводило и строки, где GROUP BY 0 или больше.

Более подробно описываю задачу

Есть две таблицы, поле category_id таблицы 2 ссылается на поле id таблицы categories. Нужно подсчитывать количество записей во второй таблице, группируя их по id таблицы 1. Но выводятся только совпадения, которые больше одного, а нужно, чтобы выводился так же результат, если у категории нет записей вообще (0)

5a748fa582639075143205.png
Все записи справа должны выводиться в результатах слева, даже если записей с аналогичным идентификатором в таблице redirects 0
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
@mletov
Используйте LEFT JOIN
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@402d
начинал с бейсика на УКНЦ в 1988
прочтите про .... having .... у команды select
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы