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

Php 选择具有指定id的条目,以及具有相同外键值的前后条目,php,mysql,Php,Mysql,我有一张像这样的桌子: | 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 谢谢尝试以下sql查询: select

我有一张像这样的桌子:

| 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


谢谢

尝试以下sql查询:

select * from test where id in(1,3,7);
我想你需要这个:

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

没有,因为fk_书中没有6=1@AndreyGurinov我猜他指的是具有相同外键的项目。也许OP可以澄清这一点。有打字错误吗?FK=2?不管怎样,看看我的答案,我想这是你需要的。你事先知道你要找的FK吗?我想OP只想提供id 3,并获取上一条和下一条记录,而不考虑他们的id。@Bazzz,我不得不等待OP编辑问题=+1这很可能是OP所指的,而不是提供他/她自己的所有id。这将按照OP要求的顺序返回项目3、1和6。请参见我在OP评论后对问题标题的编辑。@liquorvicar和fk_book=2应该添加到每个where子句中。非常感谢!我的老师没能帮我……@LikurVicar至于输出的顺序,可以通过添加带有orderby的外部选择,或者通过排序子选择来修复。一点也不重要。