我有一张看起来像这样的桌子:
| id | fk_book | name |
-----------------------
| 1 | 2 | test1|
| 3 | 2 | test3|
| 6 | 3 | notes|
| 7 | 2 | test2|
Run Code Online (Sandbox Code Playgroud)
不,我想获得id为3. select*from test where id = 3 AND fk_book = 1;
但是还有一种方法可以获得id为1和7的项目吗?我不知道其他条目的ID
谢谢
我想你需要这个:
select * from test where id=3 AND fk_book = 2
union all
select * from test where id < 3 AND fk_book = 2 order by id desc limit 1
union all
select * from test where id > 3 AND fk_book = 2 order by id asc limit 1
Run Code Online (Sandbox Code Playgroud)