Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день. Помогите решить задачу.
Есть таблица:
id header uid message created status
7 proposition 21889715 Тест 1 1322823586 open
6 administration 21889715 Тест 2 1322823563 open
4 error 21889715 Тест 3 1322823376 open
5 error 21889715 Тест 4 1322823417 close
Необходимо получить такую выборку:
header open close
proposition 1 0
administration 1 0
error 1 1
Иными словами сгруппировать все заголовки и получить количество записей с разными статусами. Статусов всего два.
Спасибо.
Неактивен
SELECT header, status, COUNT(*) FROM test group by header, status
это из доков, но там немного другой вывод получится
Неактивен
SELECT `header`, COUNT(IF(`status`='open', 1, NULL)) as `open`, COUNT(IF(`status`=close', 1, NULL)) as `close` FROM `table` GROUP BY `header`
по идее так должно сработать
Неактивен
Да проверил работает, только перед close ' надо поставить
Неактивен
Да. Все работает. Спасибо. Можешь объяснить логику на пальцах, чтобы я в следующий раз дурных вопросов не задавал.
Неактивен
Эммм, всё на столько просто, что даже не знаю как объяснить
Просто подсчитываем количество значений с open и close
Неактивен