在MySQL中,LIMIT子句与SELECT语句一起使用,以限制结果集中的行数。LIMIT子句接受一个或两个offset和count的参数。这两个参数的值都可以是零或正整数。
offset:用于指定要返回的第一行的偏移量。
Count:用于指定要返回的最大行数。
Limit子句接受一个或两个参数,当指定两个参数时,第一个参数是偏移量,第二个参数表示计数,而当只指定一个参数时,它表示从结果集开始返回的行数。
LIMIT语法:SELECT column1, column2, ...
FROM table_name
LIMIT offset, count;
如下表“Data”,其中包含三列“Firstname”、“Lastname”和“Age”。
要从“Data”表中检索前三行,我们将使用以下查询:SELECT * FROM Data LIMIT 3;
要从“Data”表中检索第2-3行(包括),我们将使用以下查询:SELECT * FROM Data LIMIT 1, 2;
下面是PHP mysql实现查询的代码示例:
示例1:Limit条件<?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 "
echo "
";echo "
Firstname";echo "
Lastname";echo "
Age";echo "
";while ($row = mysqli_fetch_array($res)) {
echo "
";echo "
".$row['Firstname']."";echo "
".$row['Lastname']."";echo "
".$row['Age']."";echo "
";}
echo "
";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);
输出:
注:“res”变量存储函数mysql_query()返回的数据。
每次调用mysqli_fetch_array()时,它都会从res()集中返回下一行。
while循环用于遍历表“data”的所有行。
示例2:使用面向对象方法的Limit子句<?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 "
echo "
";echo "
Firstname";echo "
Lastname";echo "
Age";echo "
";while ($row = $res->fetch_array()) {
echo "
";echo "
".$row['Firstname']."";echo "
".$row['Lastname']."";echo "
".$row['Age']."";echo "
";}
echo "
";$res->free();
}
else {
echo "No matching records are found.";
}
}
else {
echo "ERROR: Could not able to execute $sql. ".$mysqli->error;
}
$mysqli->close();
输出:
示例3:使用PDO方法的Limit子句<?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 "
echo "
";echo "
Firstname";echo "
Lastname";echo "
Age";echo "
";while ($row = $res->fetch()) {
echo "
";echo "
".$row['Firstname']."";echo "
".$row['Lastname']."";echo "
".$row['Age']."";echo "
";}
echo "
";unset($res);
}
else {
echo "No matching records are found.";
}
}
catch (PDOException $e) {
die("ERROR: Could not able to execute $sql. ".$e->getMessage());
}
unset($pdo);
输出:
相关推荐:《mysql教程》
本篇文章就是关于mysql中limit用法详解,希望对需要的朋友有所帮助!