选择第 n 个最高纪录
在本教程中,您将学习如何使用各种技术选择数据库表中第n个最高记录。
使用MAX或MIN函数可以轻松选择数据库表中最高或最低的记录。但是,选择第n个最高纪录有点棘手。 例如,从products表中获得第二高价格的产品。
要选择第n个最高记录,需要执行以下步骤:
首先,得到
n个最高记录,并按升序排列。第n个最高记录是结果集中的最后一个记录。然后,按顺序对结果集进行排序,并获得第一个结果集。
以下是以升序获得第n个最高记录的查询:
SELECT
*
FROM
table_name
ORDER BY column_name ASC
LIMIT N;获得第n个最高记录的查询如下:
SELECT
*
FROM
(SELECT
*
FROM
table_name
ORDER BY column_name ASC
LIMIT N) AS tbl
ORDER BY column_name DESC
LIMIT 1;幸运的是,MySQL为我们提供了限制返回结果集中的行数的LIMIT子句。可以重写上述查询如下:
查询返回n-1行之后的第一行,以便获得第n个最高记录。
获得第n个最高纪录的例子
第一种方法
例如,如果要在products表中获得第二个最昂贵的产品(n = 2),则使用以下查询:
执行上面查询语句,结果如下:
第二种方法
获得第n个最高记录的第二种技术是使用MySQL子查询:
可以使用第一种技术获得相同的结果,以获得第二高价产品作为以下查询:
执行上面查询语句,结果如下:
在本教程中,我们向您展示了如何使用MySQL中的LIMIT子句在数据库表中选择第n条记录。
Last updated
Was this helpful?