Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Как выбрать два COUNT(*) из одной таблицы с р (Сергей) 20/05/2009 - 21:01:26
      Re: Как выбрать два COUNT(*) из одной таблицы с р (Алекс) 21/05/2009 - 00:00:30
      Re: Как выбрать два COUNT(*) из одной таблицы с р (Сергей) 21/05/2009 - 13:40:41
      Re: Как выбрать два COUNT(*) из одной таблицы с р (Сергей) 21/05/2009 - 19:02:04
      Re: Как выбрать два COUNT(*) из одной таблицы с р (foxi) 24/05/2009 - 12:13:37
      Re: Как выбрать два COUNT(*) из одной таблицы с р (FireFenix) 26/05/2009 - 10:44:01
      Re: Как выбрать два COUNT(*) из одной таблицы с р (PeaceCoder) 26/06/2009 - 12:44:41



From: Сергей - 20/05/2009 - 21:01:26
Subject:Как выбрать два COUNT(*) из одной таблицы с р
-----------------
Есть таблица:
CREATE TABLE `tbl` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`coll1` INT NOT NULL ,
`coll2` INT NOT NULL
) ENGINE = MYISAM ;

Заполнена такими значениями:
id coll1 coll2
1 1 2
2 1 1
3 1 2
4 1 1
5 2 1
6 2 2
7 2 1
8 2 1

Нужен запрос, чтоб он вернул: count() где coll2 = 1, count() где coll2 = 2 всё при условии, что coll1 = 1


SELECT coll1,
( SELECT COUNT( * )
FROM `tbl`
WHERE coll2 = 1
AND coll1 = total.coll1
) AS count_one,

( SELECT COUNT( * )
FROM `tbl`
WHERE coll2 = 2
AND coll1 = total.coll1
) AS count_two
FROM `tbl` AS total GROUP BY coll1

резултат:
coll1 count_one count_two
1 2 2
2 3 1

Вышеприведёный запрос работает, но очень медленно.
Как сделать правильно ?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35807



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |