SELECT
语句返回的行数实现MySQL分页查询。
LIMIT
语句中使用的SELECT
语句来限制结果集中的行数。LIMIT
语句接受一个或两个参数。两个参数的值必须是零或正整数。LIMIT
带有两个参数的语法:
SELECT
column1,column2,...
FROM
table
LIMIT offset , count;
让我们来看看LIMIT
子句参数:
offset
第一行的偏移规定返回。在offset
第一行的是0,而不是1。count
指定的最大行数返回。LIMIT
带有一个参数的 子句时,将使用此参数来确定从结果集开头返回的最大行数。
SELECT
column1,column2,...
FROM
table
LIMIT count;
上面的查询等同于下面的查询,LIMIT
其中接受两个参数的子句:
SELECT
column1,column2,...
FROM
table
LIMIT 0 , count;
您可以使用该LIMIT
子句来选择N
表中的第一行,如下所示:
SELECT
column1,column2,...
FROM
table
LIMIT N;
例如,要选择前10个客户,请使用以下查询:
SELECT
customernumber,
customername,
creditlimit
FROM
customers
LIMIT 10;
该LIMIT
条款经常与该ORDER BY
条款一起使用。首先,您使用该ORDER BY
子句根据特定条件对结果集进行排序,然后使用该 LIMIT
子句查找最低或最高值。
SELECT
customernumber,
customername,
creditlimit
FROM
customers
ORDER BY
creditlimit DESC
LIMIT 5;
以下查询返回信用额度最低的五位客户:
SELECT
customernumber,
customername,
creditlimit
FROM
customers
ORDER BY
creditlimit ASC
LIMIT 5;
MySQL中最棘手的问题之一是如何在结果集中选择第n个最高值,例如,选择第二个(或第n个)最昂贵的产品,这是您无法使用MAX
或MIN
功能无法回答的。但是,您可以使用MySQL LIMIT
来回答这些问题。
LIMIT
条款获得第n个最昂贵的产品。通用查询如下所示:
SELECT
column1, column2,...
FROM
table
ORDER BY column1 DESC
LIMIT nth-1, count;
我们的任务是获得突出产品,这是结果集中第二个最昂贵的产品。 为此,您使用LIMIT
子句来选择第二行作为以下查询:(注意,偏移量从零开始)
SELECT
productName,
buyprice
FROM
products
ORDER BY
buyprice DESC
LIMIT 1, 1;
https://www.leftso.com/article/442.html