MySQL 中包含某一列最大值的行


让我们了解如何找出 MySQL 中包含某一特定列最大值的行的方法 −

注意:假定我们已创建一个名为“DBNAME”的数据库和一个名为“tableName”的表。

让我们看看如何使用 MySQL 查询提取包含某一特定列最大值的行的操作 −

这可以使用子查询完成。此处,我们提取的是 colName3 的最大值 −

查询

SELECT colName1, colName2, colName3
FROM tableName
WHERE colName3=(SELECT MAX(colName3) FROM tableName);

输出

+--------------+--------------+--------------+
| colName1     | colName2     | colName3     |
+--------------+--------------+--------------+
| 0003         | D            | 20.05        |
+--------------+--------------+--------------+

其他解决方案包括使用 LEFT JOIN 或按特定列降序排列所有行。这将给出带 LIMIT 子句的第一行(这是 MySQL 特有的)。

SELECT colName1, colName2, colName3
FROM tableName
WHERE colName3=(SELECT MAX(colName3) FROM tableName);
SELECT s1.colName1, s1. colName2, s1. colName3
FROM tableName s1
LEFT JOIN tableName s2 ON s1. colName3< s2. colName3
WHERE s2.colName1 IS NULL;

SELECT colName1, colName2, colName3
FROM tableName
ORDER BY colName3 DESC
LIMIT 1;

如果某一列中有多个最大值且具有相同的值,那么 LIMIT 子句将仅显示其中一个列值。

更新时间:08-Mar-2021

115 次查看

推进你的 职业

通过完成课程获得认证

开始
广告