如果我想从表中检索前 10 行,我将使用以下代码:
SELECT *
FROM Persons
LIMIT 10
我想知道的是如何检索前 10 个之后的 10 个结果。
如果我在下面执行此代码将得到我想要的结果,但前 10 行将是不必要的:
SELECT *
FROM Persons
LIMIT 20
那么我怎样才能忽略前 10 个结果而只获得下一个结果呢?
根据MySQL 文档,您可以指定限制的偏移量(从 1 开始索引)。有两种有效的语法:
SELECT cols FROM t1 LIMIT 10, 10
SELECT cols FROM t1 LIMIT 10 OFFSET 10
请注意,在第一个中,OFFSET
实际是第一个参数。
我强烈建议使用它,
SELECT *
FROM Persons
LIMIT 10, OFFSET 10;
因为,如今最大的问题是代码的可读性。这有点可读。