在MySQL中使用LIMIT和OFFSET时会返回哪些行?

时间:2012-04-12 07:30:42

标签: mysql

在下面的查询中:

SELECT column 
FROM table
LIMIT 18 OFFSET 8

我们将获得多少结果作为输出以及从哪里到哪里?

3 个答案:

答案 0 :(得分:167)

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

首先阅读offset的查询。首先,您偏移8,这意味着您跳过查询的前8个结果。然后你限制为18.这意味着你考虑记录9,10,11,12,13,14,15,16 ...... 24,25,26,共18条记录。

检查this

还有official documentation

答案 1 :(得分:26)

OFFSET只是表示在表

中启动游标的关键字
SELECT column FROM table LIMIT 18 OFFSET 8 -- fetch 18 records, begin with record 9 (OFFSET 8)

你会得到相同的结果表格

SELECT column FROM table LIMIT 8, 18

直观表示(R是某个顺序表中的一条记录)

 OFFSET        LIMIT          rest of the table
 __||__   _______||_______   __||__
/      \ /                \ /
RRRRRRRR RRRRRRRRRRRRRRRRRR RRRR...
         \________________/
                 ||
             your result

答案 2 :(得分:3)

您将从column值9到26获得输出,因为您提到OFFSET为8