質問: SELECT * FROM hogehoge ORDER BY id DESC LIMIT $id-1,1 ``` のような形を思い浮かべたのですが、仕様を満たしません^^; idが連番でないかつユニークな前提で、みなさんはどのようなやり方で取り出しているのでしょうか?
回答: 本来のSQLであれば「次に大きなID」をサブクエリで引く必要があるかもしれませんが、MySQLであれば`LIMIT`を使うことで回避できると思います。 ``` -- idが次のもの $next_id_data = SELECT * FROM hogehoge WHERE id > $id ORDER BY id ASC LIMIT 1 -- idが前のもの $prev_id_data = SELECT * FROM hogehoge WHERE id < $id ORDER BY id DESC LIMIT 1 ```