从表中选择前X行,忽略前Y行

时间:2013-03-01 06:54:36

标签: mysql sql

如果我想从表中检索前10行,那就是我将使用的代码:

SELECT *
FROM Persons
LIMIT 10

我想知道的是如何检索前10个之后的10个结果。

如果我在下面执行此代码,则得到我想要的结果,但前10行是不必要的:

SELECT *
FROM Persons
LIMIT 20

那么如何忽略前10个结果并只获得下一个结果?

3 个答案:

答案 0 :(得分:0)

如果您想获得接下来的10个值,则需要指定起始记录和持续时间。

SELECT *
FROM   Persons
LIMIT  10, 10

其他来源:

答案 1 :(得分:0)

根据MySQL documentation,您可以为限制指定偏移量(从1开始索引)。有两种有效的语法:

SELECT cols FROM t1 LIMIT 10, 10
SELECT cols FROM t1 LIMIT 10 OFFSET 10

请注意,在第一个OFFSET实际上是第一个参数。

答案 2 :(得分:0)

我强烈建议使用它,

SELECT *
FROM   Persons
LIMIT  10, OFFSET 10;

因为,如今最大的问题是代码可读性。这有点可读。