如何根据结果更改偏移量

How to change the offset based on the result

In MYSQL(也允许 php) 假设我们有 items table 由 idnamestatus.

组成

并且您想在最后一个之前获取该项目,以下查询将完美运行

SELECT * from `items`
WHERE `name` = 'xxx'
ORDER BY id DESC
LIMIT 1 
OFFSET 1;

但是,如果这个项目的状态是 (4,5,6) 那么我想得到它之前的那个。 简而言之,这都是关于增加偏移量的,但是如何在查询中这样做呢?

SELECT * from `items`
WHERE `name` = 'xxx'
AND status NOT IN ('.implode(',',$the_Array.')
ORDER BY id DESC
LIMIT 1;

答案是去掉偏移量