SELECT * FROM TableName WHERE name='test'
上記のクエリが実行されたら、前と次のid値が必要です。もちろん、それらは増分ではありません。where条件に基づいて次および前のIDを取得するにはどうすればよいですか。
SELECT
*
FROM
TableName
WHERE
id = (SELECT MIN(id) FROM TableName where id > 2)
AND id = (SELECT MAX(id) FROM TableName where id < 2)
または、使用できますLimit
SELECT * FROM TableName WHERE `id` > 2 ORDER BY `id` ASC LIMIT 1
UNION
SELECT * FROM TableName WHERE `id` < 2 ORDER BY `id` DESC LIMIT 1
以下で試してください
select * from Tablename where name = 'test' AND id = (select min(id) from Tablename where id > 4) OR id = (select max(id) from Tablename where id < 4)
PHPを使用している場合は、 mysql_data_seek() を使用できると思います