質問: mysqlにて下記のようなテーブル(news)があった場合 noはPRIMARYですが、数字が飛んでいることもあります **news** | no(int) | dat(datetime) | title(text) | | --- | --- | --- | | 7 | 2018-12-07 11:12:00 | テスト | | 4 | 2018-12-06 11:15:00 | テスト | | 2 | 2018-12-05 13:20:00 | テスト | | 1 | 2018-12-05 11:12:00 | テスト | phpにて ``` SELECT * FROM news WHERE no=2 ``` とレコードを呼び出して表示した下部に、「次のレコード」「前のレコード」といったようにボタンをつけたい つまり上記の場合、次のレコードはno4のレコード、前のレコードはno1のレコード 現在表示しているレコードを基準に次と前を取得する必要がありますので ``` //次へ SELECT * FROM news WHERE no>2 LIMIT 1 //前へ SELECT * FROM news WHERE no<2 LIMIT 1 ``` としたところ、 「前へ」はno1を取得し 「次へ」はno7を取得してしまいます。 どのような書き方だと 「前へ」はno1を取得し 「次へ」はno4を取得できますでしょうか
回答: こんな漢字で、 ``` SELECT * FROM news WHERE no > 2 ORDER BY no LIMIT 1; SELECT * FROM news WHERE no < 2 ORDER BY no DESC LIMIT 1; ```