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 次檢視

推進你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.