MySQL 中保存特定列最大值的行

mysqlmysqli database

让我们了解如何在 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 子句将仅显示其中一个列值。


相关文章