Задать вопрос
@KarambyG

Как сгруппировать массив с данными?

Извлёк данные с БД, и получил массив с такими данными:
tag    | likes 
котики | 32 
собачки| NULL
котики | 44
попугаи| NULL
собачки| NULL

Каждая строка - это просмотренный пост с определённым тегом (котики, собачки или попугаи). А поле likes говорит о том, поставлен ли лайк этому посту или нет. Если в этом поле находится ЛЮБОЕ число - то лайк поставлен. Если NULL - лайк НЕ поставлен.

Так вот, помогите сгруппировать данные по тегам. Чтобы первая цифра показывала суммарное кол-во лайков(not null) по тегу. А вторая цифра показывала суммарное кол-во строк по тегу. То есть, вот так:
array(
  котики => array(2, 2),
  собачки => array(0, 2),
  попугаи=> array(0, 1)
)
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SELECT tag, SUM(likes), COUNT(*)
FROM table_name
GROUP BY tag
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы