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

¿MySQL paginación sin consultas duplicadas?

Para usar la paginación de MySQL, primero veamos cómo usar el comando CREATE y crear una tabla con él.

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

Los registros se insertan con la ayuda de la orden INSERT.

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');

Muestra todos los registros con la ayuda de la sentencia SELECT.

mysql>SELECT* from RowCountDemo;

A continuación se muestra la salida.

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

Ahora veamos la sintaxis de paginación sin consultas repetidas.

SELECT column_name From `yourTableName` WHERE someCondition LIMIT valor1, valor2;

Ahora aplica la sintaxis anterior.

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

Este es el resultado de la consulta anterior.

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