在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