选择一个具有指定id的条目,以及前后具有相同外键值的一个条目


select an entry with specified id, and also one entry before and after with the same foreign key value

我有一个表,看起来像这样:

| id | fk_book | name |
-----------------------
| 1  | 2       | test1|
| 3  | 2       | test3|
| 6  | 3       | notes|
| 7  | 2       | test2|

不,我想要id为3的条目。从id=3和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

尝试以下sql查询:

select * from test where id in(1,3,7);