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 子句将仅显示其中一个列值。
广告