0

假设我在数据库中有一个表,比如这个表。假设我想获取主键等于 5(或任何其他主键)的条目左侧和右侧的条目。所以在我们的例子中,我想获取主键分别等于 4 和 6 的条目。会给我这样的结果的 SQL 查询是什么?你们能把 SQL 查询翻译成find('all') CakePHP 查询吗?

谢谢

注意:ID 不一定是连续的,也就是说,它们不一定遵循 1、2、3、4、5、6、7、8 的顺序。我可以有 1、5、13、44、66、123 等

4

3 回答 3

3

像这样尝试联合

 (SELECT * FROM employee WHERE id < 5 order by id DESC LIMIT 1)
 UNION
 (SELECT * FROM employee WHERE id >5  LIMIT 1)
于 2013-04-22T05:29:10.577 回答
1

PHP

$id = 5;
SELECT * FROM Employee where id = $id-1 OR id = $id+1;

MySQL

SET @id = 5;
SELECT * FROM Employee where id = @id-1 OR id = @id+1;
于 2013-04-22T05:32:28.043 回答
0

结帐find('neighbors')。它返回您指定的记录之前和之后的记录,并且您的 id 在序列中可以有“洞”。

于 2013-04-22T06:17:39.600 回答