Mysql SQL限制给出了错误的结果

Mysql SQL限制给出了错误的结果,mysql,sql,sql-limit,Mysql,Sql,Sql Limit,我在使用SQL LIMIT语句时遇到问题。我有21条记录存储在数据库中,我想分段得到结果。我写了这个查询: SELECT * FROM table JOIN another_table ON XXX = YYY WHERE XXX = ? ORDER BY col DESC LIMIT ?, ? 以下是使用此值时得到的行数: LIMIT: 0 .. 10 ---> num of rows 10 -> Correct LIMIT: 10 .. 20 --->

我在使用SQL LIMIT语句时遇到问题。我有21条记录存储在数据库中,我想分段得到结果。我写了这个查询:

SELECT * FROM table JOIN another_table ON XXX = YYY WHERE XXX = ? ORDER BY col DESC LIMIT ?, ?
以下是使用此值时得到的行数:

LIMIT:  0 .. 10  --->  num of rows 10     -> Correct
LIMIT: 10 .. 20  --->  num of rows 11     -> Incorrect
LIMIT: 20 .. 30  --->  num of rows 0      -> Incorrect
代码在php函数中使用,对于数据库操作,我使用PDOStatement类,但这个错误也表现在MySQLi类的使用中

有人知道问题出在哪里吗?

当你说:

LIMIT X, Y
你是说X是偏移量,Y是计数。你想要的是:

LIMIT 0, 10
LIMIT 10, 10
LIMIT 20, 10
或者,使用OFFSET关键字并使用:

LIMIT 10 OFFSET 0
LIMIT 10 OFFSET 10
LIMIT 10 OFFSET 20

LIMIT不接受LIMIT[from][to]这样的值