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


假设 LIMIT 为 4,OFFSET 为 6,那么它将返回 7 到 10 的行,即以第 10 行结束。LIMIT 4 和 OFFSET 6 返回第 7、8、9、10 行。

您可以通过实现 LIMIT 和 OFFSET 来理解上述概念。让我们创建一个表。

mysql> create table LimitOffsettable
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (0.60 sec)

让我们在表中插入一些记录。查询如下 −

Mysql> insert into LimitOffsettable values(1);
Query OK, 1 row affected (0.15 sec)
mysql> insert into LimitOffsettable values(2);
Query OK, 1 row affected (0.21 sec)
mysql> insert into LimitOffsettable values(3);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(4);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(5);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(6);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(7);
Query OK, 1 row affected (0.13 sec)
mysql> insert into LimitOffsettable values(8);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(9);
Query OK, 1 row affected (0.09 sec)
mysql> insert into LimitOffsettable values(10);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(11);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(12);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(13);
Query OK, 1 row affected (0.13 sec)\

您可以借助 select 语句显示以上插入的所有记录。查询如下 −

mysql> select *from LimitOffsettable;

以下是输出 −

+------+
| Id   |
+------+
| 1    |
| 2    |
| 3    |
| 4    |
| 5    |
| 6    |
| 7    |
| 8    |
| 9    |
| 10   |
| 11   |
| 12   |
| 13   |
+------+
13 rows in set (0.00 sec)

实现 LIMIT 4 和 OFFSET 6,从第 7 行开始到第 10 行(即 7、8、9、10)。

查询如下 −

mysql> select *from LimitOffsettable LIMIT 4 OFFSET 6;

以下是返回行的输出 −

+------+
| Id   |
+------+
| 7    |
| 8    |
| 9    |
| 10   |
+------+
4 rows in set (0.00 sec)

更新日期: 2019 年 7 月 30 日

265 次浏览

开启你的 职业

完成课程获得认证

立即开始
广告