English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Keine doppelte Abfrage bei der Pagination in MySQL?

Um die Paginierung in MySQL zu verwenden, schauen wir uns zunächst an, wie man den CREATE-Befehl verwendet und eine Tabelle damit erstellt.

mysql>CREATE table RowCountDemo
   -> (
   -> ID int,
   -> Name varchar(100)
   -> );

Die Einträge wurden unter Verwendung des INSERT-Befehls eingefügt.

mysql>INSERT into RowCountDemo values(1, 'Larry');
mysql>INSERT into RowCountDemo values(2, 'John');
mysql>INSERT into RowCountDemo values(3, 'Bela');
mysql>INSERT into RowCountDemo values(4, 'Jack');
mysql>INSERT into RowCountDemo values(5, 'Eric');
mysql>INSERT into RowCountDemo values(6, 'Rami');
mysql>INSERT into RowCountDemo values(7, 'Sam');
mysql>INSERT into RowCountDemo values(8, 'Maike');
mysql>INSERT into RowCountDemo values(9, 'Rocio');
mysql>INSERT into RowCountDemo values(10, 'Gavin');

Zeige alle Einträge unter Verwendung des SELECT-Ausdrucks an.

mysql>SELECT* from RowCountDemo;

Hier ist die Ausgabe.

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

Lassen Sie uns nun die Paginierungssyntax ohne doppelte Abfragen betrachten.

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

Jetzt wenden wir die obige Syntax an.

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

Dies ist die Ausgabe der obigen Abfrage.

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