MySQL 跳过前10个结果

在 MySQL 中有没有跳过 SELECT 查询的前10个结果的方法? 我希望它能像极限一样工作。

133256 次浏览

LIMIT 允许您跳过任意数量的行。它有 参数,以及第一个参数——跳过多少行

来自 手动操作:

若要从某个偏移量检索到结果集末尾的所有行,可以对第二个参数使用较大的数字。此语句检索从第96行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

显然,你应该用 10代替 95。顺便说一下,他们使用的大数是2 ^ 64-1。

使用带有两个参数的 LIMIT。例如,要返回结果11-60(其中结果1是第一行) ,请使用:

SELECT * FROM foo LIMIT 10, 50

有关返回所有结果的解决方案,请参见 托马斯的回答

还有一个 OFFSET 也可以起到这样的作用:

SELECT column FROM table
LIMIT 10 OFFSET 10
select * from table where id not in (select id from table limit 10)

其中 id是表中的关键字。

如果您的表是按 id 排序的,那么您可以很容易地通过以下方式进行排序:

select * from table where id > 10

要跳过前10行,请使用 OffSET10,但也需要使用 LIMIT,

如果您希望获取所有行,并且只跳过前10行,请尝试使用大号码,如99999999或根据您的选择

SELECT * FROM table LIMIT 999999 OFFSET 10