есть конкретное значение 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
Уверен, можно делать это проще - подпихните

Спустя 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).
Ты хочешь именно оптимизировать, чтобы меньше кушал или просто объеденить оба запроса?
Можно через подзапрос организовать, но выграешь ли ты от того, что 2 запроса будут по виду сложнее, но лишь одним обращением mysql_query() ? И да, ближайшие по другому никак не представляю (ну кроме того, что можно оптимизировать скорость и объеденить через запрос в запросе, либо просто UNION ALL).
Спустя 7 минут, 27 секунд (5.05.2011 - 19:46) noo написал(а):
Цитата (twin @ 5.05.2011 - 16:31) |
order by id desc убери просто |
Почему, он и так сначала самый большой найдет меньше заданного?
ну вообще, я думал, что есть какой-нибудь специальный оператор, который находит ближайшую строку по идентификатору, а так, получается