







|
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
> Original message text:
> 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
>
> Вышеприведёный запрос работает, но очень медленно.
> Как сделать правильно ?
>
From: Сергей - 21/05/2009 - 19:02:04
Subject:Как выбрать два COUNT(*) из одной таблицы с р
-----------------
Но я так и не понял, можно ли сделать запрос более продуктивный, чем вышеприведённый, а в идеале вообще обойтись без подзапросов ?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
35807
|
|