无需二次查询的 MySQL 分页?


要想了解 MySQL 分页,首先了解如何使用 CREATE 命令并用它来创建一个表。

mysql>CREATE table RowCountDemo
   -> (
   -> ID int,
   -> Name varchar(100)
   -> );
Query OK, 0 rows affected (0.95 sec)

利用 INSERT 命令插入记录。

mysql>INSERT into RowCountDemo values(1,'Larry');
Query OK, 1 row affected (0.15 sec)

mysql>INSERT into RowCountDemo values(2,'John');
Query OK, 1 row affected (0.13 sec)

mysql>INSERT into RowCountDemo values(3,'Bela');
Query OK, 1 row affected (0.15 sec)

mysql>INSERT into RowCountDemo values(4,'Jack');
Query OK, 1 row affected (0.11 sec)

mysql>INSERT into RowCountDemo values(5,'Eric');
Query OK, 1 row affected (0.19 sec)

mysql>INSERT into RowCountDemo values(6,'Rami');
Query OK, 1 row affected (0.49 sec)

mysql>INSERT into RowCountDemo values(7,'Sam');
Query OK, 1 row affected (0.14 sec)

mysql>INSERT into RowCountDemo values(8,'Maike');
Query OK, 1 row affected (0.77 sec)

mysql>INSERT into RowCountDemo values(9,'Rocio');
Query OK, 1 row affected (0.13 sec)

mysql>INSERT into RowCountDemo values(10,'Gavin');
Query OK, 1 row affected (0.19 sec)

利用 SELECT 语句显示所有记录。

mysql>SELECT* from RowCountDemo;

如下为输出。

+------+-------+
| ID   | Name  |
+------+-------+
|    1 | Larry |
|    2 | John  |
|    3 | Bela  |
|    4 | Jack  |
|    5 | Eric  |
|    6 | Rami  |
|    7 | Sam   |
|    8 | Maike |
|    9 | Rocio |
|   10 | Gavin |
+------+-------+
10 rows in set (0.00 sec)

下面让我们了解一下无需二次查询的分页语法。

SELECT column_name From  `yourTableName` WHERE someCondition LIMIT value1, value2;

现在应用上述语法。

mysql> SELECT ID,Name FROM `RowCountDemo` WHERE ID > 0 LIMIT 0, 11;

以下是上述查询的输出。

+------+-------+
| ID   | Name  |
+------+-------+
|    1 | Larry |
|    2 | John  |
|    3 | Bela  |
|    4 | Jack  |
|    5 | Eric  |
|    6 | Rami  |
|    7 | Sam   |
|    8 | Maike |
|    9 | Rocio |
|   10 | Gavin |
+------+-------+
10 rows in set (0.00 sec)

更新于: 2019 年 7 月 30 日

224 次浏览

开启你的职业生涯

完成课程认证

开始学习
广告