En MySQL, la cláusula LIMIT se usa con la declaración SELECT para restringir el número de filas en el conjunto de resultados. La cláusula de límite acepta uno o dos argumentos que se compensan y cuentan. El valor de ambos parámetros puede ser cero o números enteros positivos.
Desplazamiento: se utiliza para especificar el desplazamiento de la primera fila que se devolverá.
Count: se utiliza para especificar el número máximo de filas que se devolverán.
La cláusula Limit acepta uno o dos parámetros, cada vez que se especifican dos parámetros, el primero es el desplazamiento y el segundo indica el recuento, mientras que cada vez que se especifica un solo parámetro, indica el número de filas que se devolverán desde el principio del conjunto de resultados. .
Sintaxis:
SELECT column1, column2, ... FROM table_name LIMIT offset, count;
Puede obtener información detallada sobre la cláusula LIMIT en el artículo MySQL | Cláusula LÍMITE .
Consideremos la siguiente tabla «Datos» con tres columnas «Nombre», «Apellido» y «Edad».
Para recuperar las tres primeras filas de la tabla «Datos», utilizaremos la siguiente consulta:
SELECT * FROM Data LIMIT 3;
Para recuperar las filas 2-3 (inclusive) de la tabla «Datos», utilizaremos la siguiente consulta:
SELECT * FROM Data LIMIT 1, 2;
A continuación se muestra la implementación PHP de la consulta para mostrar las dos primeras filas de la tabla «Datos» utilizando la cláusula LIMIT tanto en las extensiones de procedimiento como en las orientadas a objetos:
- Cláusula de límite utilizando el método procesal
< ? php
$link
= mysqli_connect(
"localhost"
,
"root"
,
""
,
"Mydb"
);
if
(
$link
== = false) {
die
(
"ERROR: Could not connect. "
.mysqli_connect_error());
}
$sql
=
"SELECT * FROM Data LIMIT 2"
;
if
(
$res
= mysqli_query(
$link
,
$sql
)) {
if
(mysqli_num_rows(
$res
) > 0) {
echo
"<table>"
;
echo
"<tr>"
;
echo
"<th>Firstname</th>"
;
echo
"<th>Lastname</th>"
;
echo
"<th>Age</th>"
;
echo
"</tr>"
;
while
(
$row
= mysqli_fetch_array(
$res
)) {
echo
"<tr>"
;
echo
"<td>"
.
$row
[
'Firstname'
].
"</td>"
;
echo
"<td>"
.
$row
[
'Lastname'
].
"</td>"
;
echo
"<td>"
.
$row
[
'Age'
].
"</td>"
;
echo
"</tr>"
;
}
echo
"</table>"
;
mysqli_free_result(
$res
);
}
else
{
echo
"No matching records are found."
;
}
}
else
{
echo
"ERROR: Could not able to execute $sql. "
.mysqli_error(
$link
);
}
mysqli_close(
$link
);
? >
Producción :
Explicación:
- La variable «res» almacena los datos que devuelve la función mysql_query().
- Cada vez que se invoca mysqli_fetch_array(), devuelve la siguiente fila del conjunto res().
- El bucle while se utiliza para recorrer todas las filas de la tabla «datos».
- Cláusula de límite utilizando el método orientado a objetos
< ? php
$mysqli
=
new
mysqli(
"localhost"
,
"root"
,
""
,
"Mydb"
);
if
(
$mysqli
== = false) {
die
(
"ERROR: Could not connect. "
.
$mysqli
->connect_error);
}
$sql
=
"SELECT * FROM Data LIMIT 2"
;
if
(
$res
=
$mysqli
->query(
$sql
)) {
if
(
$res
->num_rows > 0) {
echo
"<table>"
;
echo
"<tr>"
;
echo
"<th>Firstname</th>"
;
echo
"<th>Lastname</th>"
;
echo
"<th>Age</th>"
;
echo
"</tr>"
;
while
(
$row
=
$res
->fetch_array()) {
echo
"<tr>"
;
echo
"<td>"
.
$row
[
'Firstname'
].
"</td>"
;
echo
"<td>"
.
$row
[
'Lastname'
].
"</td>"
;
echo
"<td>"
.
$row
[
'Age'
].
"</td>"
;
echo
"</tr>"
;
}
echo
"</table>"
;
$res
->free();
}
else
{
echo
"No matching records are found."
;
}
}
else
{
echo
"ERROR: Could not able to execute $sql. "
.
$mysqli
->error;
}
$mysqli
->close();
? >
Producción :
- Cláusula de límite utilizando el método PDO
< ? php
try
{
$pdo
=
new
PDO(
"mysql:host=localhost;dbname=Mydb"
,
"root"
,
""
);
$pdo
->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch
(PDOException
$e
) {
die
(
"ERROR: Could not connect. "
.
$e
->getMessage());
}
try
{
$sql
=
"SELECT * FROM Data LIMIT 2"
;
$res
=
$pdo
->query(
$sql
);
if
(
$res
->rowCount() > 0) {
echo
"<table>"
;
echo
"<tr>"
;
echo
"<th>Firstname</th>"
;
echo
"<th>Lastname</th>"
;
echo
"<th>Age</th>"
;
echo
"</tr>"
;
while
(
$row
=
$res
->fetch()) {
echo
"<tr>"
;
echo
"<td>"
.
$row
[
'Firstname'
].
"</td>"
;
echo
"<td>"
.
$row
[
'Lastname'
].
"</td>"
;
echo
"<td>"
.
$row
[
'Age'
].
"</td>"
;
echo
"</tr>"
;
}
echo
"</table>"
;
unset(
$res
);
}
else
{
echo
"No matching records are found."
;
}
}
catch
(PDOException
$e
) {
die
(
"ERROR: Could not able to execute $sql. "
.
$e
->getMessage());
}
unset(
$pdo
);
? >
Producción :
Publicación traducida automáticamente
Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA