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

mysqlmysqli database

假设 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)

相关文章