MySQL выбрать следующую строку, не зная идентификатор

0

Есть ли простой способ выполнить оба этих запроса в одном:

$name = 'somename';

$id = mysql_result(mysql_query('SELECT id FROM table WHERE name = $name'));

$next_id = mysql_result(mysql_query('SELECT id FROM table WHERE id > $id ORDER BY id ASC LIMIT 1, 1'));

Спасибо

Теги:

2 ответа

0
Лучший ответ

Подзапрос, чтобы получить идентификатор, затем >= выбранный идентификатор, затем ограничьте 2

SELECT id FROM table WHERE id >= (SELECT id FROM table WHERE name = '$name') ORDER BY id ASC LIMIT 2
  • 0
    Спасибо, это прекрасно ... допустил ошибку в моем исходном запросе, который имел LIMIT 0, 1. Итак, SELECT id из таблицы WHERE id> = (SELECT id из таблицы WHERE name = '$ name') ORDER BY id ASC LIMIT 0 , 1 будет работать.
0

Вы пытались?

$next_id = mysql_result(mysql_query('SELECT id FROM table WHERE id > (SELECT id FROM table WHERE name = $name LIMIT 1,1) ORDER BY id ASC LIMIT 1, 1));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню