







|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
35807
|
|