1. ホーム
  2. sql

[解決済み] MySQLで次のレコードや前のレコードを取得する方法は?

2022-05-12 19:50:19

質問

というレコードがあるとします。 ID 3,4,7,9

次へ/前へのリンクによるナビゲーションで、次から次へと移動できるようにしたいのですが。

問題なのは、私が 最も近い高いIDを持つレコードを取得する方法 .

というレコードがあった場合 ID 4 次の既存のレコードを取得できるようにする必要があります。 7 .

クエリはおそらく次のようなものになるでしょう。

SELECT * FROM foo WHERE id = 4 OFFSET 1

結果セット全体をフェッチして手動で反復処理することなく、次の/前のレコードをフェッチするにはどうすればよいですか?

私はMySQL 5を使用しています。

どのように解決するのですか?

次に進みます。

select * from foo where id = (select min(id) from foo where id > 4)

の前にあります。

select * from foo where id = (select max(id) from foo where id < 4)