Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2012, 19:23
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

два запроса одновременно
Существует ли способ записать два запроса из одной таблицы, как один запрос.

Т.е., например, нужно узнать сколько в таблице значений с одним критерием, и, второй запрос, сколько в таблице значений с другим значением.

$sql1="SELECT COUNT(*) FROM `table`
		WHERE `start`='2';

$sql2="SELECT COUNT(*) FROM `table`
		WHERE `start`='3';
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2012, 19:26
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

SELECT COUNT(*) FROM `table` WHERE `start` = '2' OR `start` = '3'

Не?
Ответить с цитированием
  #3 (permalink)  
Старый 22.02.2012, 19:28
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

надо что бы выводило 2 значения для этих критерием. В общем делало тоже самое, что и эти два запроса по отдельности: получаем количество строк для разных критериев.

Например в таблице в столбце `start` - 10 записей. Две из них имеют значение 2. Пять из них имеют значение 3. Так вот, надо чтобы выдавался массив = (2,5)
Ответить с цитированием
  #4 (permalink)  
Старый 22.02.2012, 21:58
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от posta Посмотреть сообщение
надо что бы выводило 2 значения для этих критерием. В общем делало тоже самое, что и эти два запроса по отдельности: получаем количество строк для разных критериев.

Например в таблице в столбце `start` - 10 записей. Две из них имеют значение 2. Пять из них имеют значение 3. Так вот, надо чтобы выдавался массив = (2,5)
получаешь один массив со значениями 2 и 3 и разбиваешь/соритруешь/чистишь его так, как нужно два запроса — неоправданная нагрузка.
__________________
С моих слов записано верно.
Ответить с цитированием
  #5 (permalink)  
Старый 23.02.2012, 02:55
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

Ну так я так и хочу. Как будет выглядеть такой запрос??!
Ответить с цитированием
  #6 (permalink)  
Старый 23.02.2012, 07:24
Аватар для NoResponse
Профессор
Отправить личное сообщение для NoResponse Посмотреть профиль Найти все сообщения от NoResponse
 
Регистрация: 17.06.2010
Сообщений: 152

что то вроде такого ?

в одну строку...
$sql="
SELECT * FROM (
	SELECT COUNT(*) AS c1 FROM `table` WHERE `start`='2'
) AS t1, (
	SELECT COUNT(*) AS c2 FROM `table` WHERE `start`='3'
) AS t2
";


или в две строки...
$sql="
	SELECT COUNT(*) FROM `table` WHERE `start`='2'
	UNION
	SELECT COUNT(*) FROM `table` WHERE `start`='3'
";

Последний раз редактировалось NoResponse, 23.02.2012 в 07:34.
Ответить с цитированием
  #7 (permalink)  
Старый 23.02.2012, 16:35
Кандидат Javascript-наук
Отправить личное сообщение для posta Посмотреть профиль Найти все сообщения от posta
 
Регистрация: 27.08.2010
Сообщений: 115

NoResponse,
ДА, спасибо, но помог только первый вариант, второй, выдает только по 1 селекту.
Ответить с цитированием
  #8 (permalink)  
Старый 23.02.2012, 17:16
Интересующийся
Отправить личное сообщение для sergasd Посмотреть профиль Найти все сообщения от sergasd
 
Регистрация: 14.08.2011
Сообщений: 10

SELECT `start` , COUNT(*) `cnt`
FROM `table`
WHERE `start` IN ('2', '3')
GROUP BY `start`
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как приостановить выполнение скрипта до получения результата AJAX запроса? Хиросим AJAX и COMET 9 31.10.2011 10:56
Два вопроса по XMLHTTPRequest Pluto Общие вопросы Javascript 7 22.09.2010 22:43
добавить два слоя одновременно rt2517 Events/DOM/Window 2 03.05.2010 13:38
отмена запроса HelpeR AJAX и COMET 5 16.02.2010 16:24
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03