Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сложный запрос, возможена ли такая выборка 
:(
    Опции темы
Archon7th
Дата 9.6.2009, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 22.4.2005
Где: Витебск Белорусия

Репутация: нет
Всего: нет



таблица вида id,name,type, time,val

нужно сделать селект из одной таблицы, лимитированный 10 строками но так чтобы сделать что-то вроде склейки собранной информации по типу как будто мы снаало делаем 1 запрос вида
SELECT id WHERE type=a LIMIT 10
а потом как буд-то бы делаем для каждого id1:=id
SELECT WHERE id=id1 AND type=b LIMIT 1 ORDER BY val DESC - т.е. элемент типа b c наибольшим val и нужным нам id
+ еще желаетельно получить количество строк типа b c нужным нам id


как это сделать 1 запросом и на выходе получить 10 строк со всей пеерчисленной информацией?
--------------------
CPU not found. Running software emulation.
PM MAIL ICQ   Вверх
Akina
Дата 9.6.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Шоб я чего понял... кстати, а в первом запросе сортировка не предусмотрена, что ли?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Archon7th
Дата 17.6.2009, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 22.4.2005
Где: Витебск Белорусия

Репутация: нет
Всего: нет



так, задача немного изминилась
всё теперь веселее )))

имеется всё та же база, счас интерисуют всего 4 её поля id, key, owner и time

нужно одним запросом получить следующее

имея исходный запрос вида
Код
SELECT * FROM `table` WHERE `time`<{$time} LIMIT 20;

нужно его проапгрейдить ANDом до вида чего то такого
Код
SELECT * FROM `table` WHERE `time`<{$time} AND **** LIMIT 20;

где **** означает что-то вроде выражения
Код
есть ли поля в этой же базе у которых бы key был бы равен id из первого запроса  AND owner=1 ?



или что бы понятнее было вот как
Код
SELECT COUNT(*) FROM `table` WHERE `key`={$id} AND `owner`=1;

если коунт>0 то истина



Это сообщение отредактировал(а) Archon7th - 17.6.2009, 18:39
--------------------
CPU not found. Running software emulation.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.