从行限制和asc php pdo中选择mysql

从行限制和asc php pdo中选择mysql,php,mysql,pdo,Php,Mysql,Pdo,我有一张像下面这样的桌子 ID 1 2 3 4 5 我想选择ID2然后选择ASC限制3。我想得到2,3,4 我的选择走了 从TABLEID中选择*,其中ID=2,status='unuse'按ID排序ASC LIMIT 3 SELECT * FROM TABLEID WHERE ID BETWEEN 2 AND 4 但是我只得到1记录,我希望3行根据限制3 SELECT * FROM TABLEID WHERE ID BETWEEN 2 AND 4 或者排除id SELECT * FROM

我有一张像下面这样的桌子

ID
1
2
3
4
5
我想选择ID
2
然后选择ASC限制3。我想得到
2,3,4

我的选择走了

从TABLEID中选择*,其中ID=2,status='unuse'按ID排序ASC LIMIT 3

SELECT * FROM TABLEID WHERE ID BETWEEN 2 AND 4
但是我只得到
1
记录,我希望
3
行根据
限制3

SELECT * FROM TABLEID WHERE ID BETWEEN 2 AND 4
或者排除id

SELECT * FROM TABLEID WHERE ID >=2 status = 'unuse' AND id <> 1 ORDER BY ID ASC LIMIT 3
从TABLEID中选择*,其中ID>=2状态='unuse'和ID 1订单按ID ASC限制3
我希望在限制3的基础上返回3行

您的预期是错误的,因为LIMIT无法创建一开始就不存在的记录。您只有一条ID=2的记录,因此选择这些记录的WHERE子句当然只返回这条记录

您希望
其中ID>=2
首先选择ID为2或更大的所有记录,然后将该选择限制为仅3条记录

select * from TABLED limit 1,4
1是偏移起点
4达到计数点

“我希望在限制3的基础上返回3行”-您的预期是错误的,因为限制无法创建一开始就不存在的记录。您只有一条ID=2的记录,因此选择这些记录的WHERE子句当然只返回这条记录。您希望
WHERE ID>=2
@CBroe我希望将
ID=2
作为锚来启动WHERE子句,然后使用ASC获得更大的值。现在我意识到你是对的,事情很简单。你能提供它作为回答我会接受它。从是静态的,但到不是我只根据限制,如限制3