在MySQL中使用LIMS与OFFSET时返回哪些行?

在下面的查询中:

SELECT column FROM table LIMIT 18 OFFSET 8 

我们会得到多less结果作为输出,从哪里到哪里?

它将从logging#9开始返回18个结果,并在logging#26结束。

首先阅读offset的查询。 首先你偏移8,这意味着你跳过查询的前8个结果。 那么你只能限制18个。这意味着你考虑logging9,10,11,12,13,14,15,16 … 24,25,26这18个logging。

看看这个 。

还有官方文档 。

LIMIT子句用于限制SQL语句中返回的结果数量。 所以如果你在表中有1000行,但只想返回前10个,你可以这样做:

 SELECT column FROM table LIMIT 10 

这与Microsoft SQL Server上的TOP子句类似。 但是LIMIT子句总是在MySQL和PostgreSQL的查询结束时进行。

现在假设你想显示结果11-20。 与OFFSET关键字一样容易,下面的查询将做到:

 SELECT column FROM table LIMIT 10 OFFSET 10 

OFFSET不过是关键字而已,表示在表格中开始游标。

 SELECT column FROM table LIMIT 18 OFFSET 8 //start on record 9 (OFFSET 8) with record 18 

你得到相同的结果表格

 SELECT column FROM table LIMIT 8,18 

你会得到从column值9到26的输出,正如你所提到的OFFSET为8