SimBioT19
@SimBioT19
{{ user.about }}

Как правильно посчитать количество строк подходящих условию?

Как одним запросом посчитать количество строк с разными условиями?
Запрос следующий:
SELECT COUNT(*) as number FROM `objects` WHERE `status`='1' AND  `author`=:author AND `category`='1'

Но мне нужно также посчитать WHERE `category`=2, WHERE `category`=3 (разные значения категории), можно ли посчитать количество одним запросом, или обязательно обращаться к БД трижды?

Также, правильнее будет считать COUNT(*) или COUNT(id)? Склоняюсь к первому варианту, но всё же...

UPD:
У меня получилось вот так: 'SELECT COUNT(*) as number FROM `objects` WHERE `status`='1' AND `author`=:author group by `category`'
Затем через while назначаю переменные
while($num = $query->fetch()){
$i++;
if($i == 1) $numM = $num['number'];
if($i == 2) $numG = $num['number'];
if($i == 3) $numS = $num['number'];

$Summ= $num['number'];
}
Правильно ли так будет? (по поводу $i)
А также необъяснимая проблема — не выводит $Summ, абсолютно! Только если присвоить $Summ = $numA, а вот $Summ = $numA + $numG уже НЕ РАБОТАЕТ. Вывод ошибок ничего не показывает, что за чертовщина?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
GROUP BY `category`
Ответ написан
Ваш ответ на вопрос

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

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