1. Table data structure Select MySQL record previous, next SQL statement
SELECT * from user ORDER by rank ASC
+----+------+---------+| ID | Rank | Name |+----+------+---------+| 1 | 1 | Admin1 | | 2 | 2 | Admin2 | | 3 | 3 | Admin3 | | 4 | 4 | Admin4 | | 5 | 5 | Admin5 | | 6 | 6 | Admin6 | | 7 | 7 | admin7 | | 8 | 8 | Admin8 | | 9 | 9 | Admin9 | | | 10 | Admin10 | | One | 11 | Admin11 | | | 12 | Admin12 |+----+------+---------+
2. Select the previous line
SELECT * from user where ID <3 or id= (select MIN (ID) from user) Order by id DESC LIMIT 1
+----+------+--------+| ID | Rank | Name |+----+------+--------+| 2 | 2 | admin2 |+----+------+--------+1 row in Set (0.00 sec)
3. When id=1
Mysql> SELECT * from user where ID <1 or id= (select MIN (ID) from user) Order by id DESC LIMIT 1;+----+------+------- -+| ID | Rank | Name |+----+------+--------+| 1 | 1 | Admin1 |+----+------+--------+1 row in Set (0.00 sec)
4. Select the next line
Mysql> SELECT * from user where ID > 3 OR id= (select MAX (ID) from user) ORDER by ID ASC LIMIT 1;+----+------+------- -+| ID | Rank | Name |+----+------+--------+| 4 | 4 | ADMIN4 |+----+------+--------+1 row in Set (0.00 sec)
5. When the ID is the maximum value
Mysql> SELECT * from user where ID >/id= (select MAX (ID) from user) ORDER by ID ASC LIMIT 1;+----+------+------ ---+| ID | Rank | Name |+----+------+---------+| | 12 | Admin12 |+----+------+---------+1 row in Set (0.00 sec)
MySQL Select Previous, next data record