[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск рядомстоящих строк
noo
Знаю, что вопрос довольно глупый, но все же, мне кажется етсь реализация получше:

есть конкретное значение id
нужно найти ближайшие к нему id'шки одно больше, одно меньше.

Можно это как-то сделать в 1 запрос, вместе с этим id?

До меня допирает только такой вариант

$id='наше ид заданное';

Select id from table where id>'.$id.' order by id limit 1

и

Select id from table where id<'.$id.' order by id desc limit 1

Уверен, можно делать это проще - подпихните smile.gif




Спустя 31 минута, 39 секунд (5.05.2011 - 19:31) twin написал(а):
order by id desc убери просто

Спустя 6 минут, 44 секунды (5.05.2011 - 19:38) inpost написал(а):
noo
Ты хочешь именно оптимизировать, чтобы меньше кушал или просто объеденить оба запроса?
Можно через подзапрос организовать, но выграешь ли ты от того, что 2 запроса будут по виду сложнее, но лишь одним обращением mysql_query() ? И да, ближайшие по другому никак не представляю (ну кроме того, что можно оптимизировать скорость и объеденить через запрос в запросе, либо просто UNION ALL).

Спустя 7 минут, 27 секунд (5.05.2011 - 19:46) noo написал(а):
Цитата (twin @ 5.05.2011 - 16:31)
order by id desc убери просто

Почему, он и так сначала самый большой найдет меньше заданного?

ну вообще, я думал, что есть какой-нибудь специальный оператор, который находит ближайшую строку по идентификатору, а так, получается
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.