SQL限制会产生不良结果

JAR*_*001 -1 php sql mysqli pdo

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

"SELECT * FROM table JOIN another_table ON XXX = YYY WHERE XXX = ? ORDER BY col DESC LIMIT ?, ?"
Run Code Online (Sandbox Code Playgroud)

这是我使用此值时获得的行数:

LIMIT:  0 .. 10  --->  num of rows 10     -> Correct
LIMIT: 10 .. 20  --->  num of rows 11     -> Incorrect
LIMIT: 20 .. 30  --->  num of rows 0      -> Incorrect
Run Code Online (Sandbox Code Playgroud)

代码用于php函数和数据库操作我使用PDOStatement类,但这个错误也表现在使用MySQLi类.

有谁知道问题在哪里?

Gor*_*off 5

当你说:

LIMIT X, Y
Run Code Online (Sandbox Code Playgroud)

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

LIMIT 0, 10
LIMIT 10, 10
LIMIT 20, 10
Run Code Online (Sandbox Code Playgroud)

或者,使用OFFSET关键字并使用:

LIMIT 10 OFFSET 0
LIMIT 10 OFFSET 10
LIMIT 10 OFFSET 20
Run Code Online (Sandbox Code Playgroud)