在 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)