SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.12.2011 16:32:10

yellowcat
Участник
Зарегистрирован: 09.11.2010
Сообщений: 19

Группировка по статусу

Добрый день. Помогите решить задачу.

Есть таблица:

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

Иными словами сгруппировать все заголовки и получить количество записей с разными статусами. Статусов всего два.
Спасибо.

Неактивен

 

#2 02.12.2011 18:13:28

modern
Участник
Зарегистрирован: 02.12.2011
Сообщений: 4

Re: Группировка по статусу

SELECT header, status, COUNT(*) FROM test group by header, status
это из доков, но там немного другой вывод получится

Неактивен

 

#3 02.12.2011 18:21:34

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Группировка по статусу

SELECT `header`, COUNT(IF(`status`='open', 1, NULL)) as `open`, COUNT(IF(`status`=close', 1, NULL)) as `close` FROM `table` GROUP BY `header`

по идее так должно сработать


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#4 02.12.2011 18:34:27

modern
Участник
Зарегистрирован: 02.12.2011
Сообщений: 4

Re: Группировка по статусу

Да проверил работает, только перед close ' надо поставить

Неактивен

 

#5 02.12.2011 18:49:29

yellowcat
Участник
Зарегистрирован: 09.11.2010
Сообщений: 19

Re: Группировка по статусу

Да. Все работает. Спасибо. Можешь объяснить логику на пальцах, чтобы я в следующий раз дурных вопросов не задавал.

Неактивен

 

#6 02.12.2011 19:09:55

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Группировка по статусу

Эммм, всё на столько просто, что даже не знаю как объяснить big_smile

Просто подсчитываем количество значений с open и close smile


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson