@MasterCopipaster

Как сочитать COUNT с where in?

Я хочу подсчитать кол-во товаров в каждой категории. Но я хочу сделать это одним запросом.
Если я делаю так:
SELECT COUNT(*) from products where category_id in (35,34) and `show` = 1;

То count будет посчитан для двух категорий.
COUNT(*)|
--------+
     307|


Можно ли сделать так что бы одним запросом выцепить кол-во товаров в каждой категории?
COUNT(*)|
--------+
     154|
--------+
     137|

Где первая строка это 35 категория а вторая 34
Или вывести в формате category_id -> count
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
group by
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@RizyaRU
Если нужно только 2 значения, возможно удобней будет работать с таким результатом:
SELECT 
(SELECT COUNT(`id`) FROM `products` WHERE `category_id` = 34) AS `count1`, 
(SELECT COUNT(`id`) FROM `products` WHERE `category_id` = 35) AS `count2`;


+--------+---------+
| count1 | count2 |
+--------+---------+
| 154 | 137 |
+--------+---------+
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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