Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hàng giữ giá trị lớn nhất của một cột trong MySQL

Hiểu cách tìm hàng giữ giá trị lớn nhất của một cột cụ thể trong MySQL.

Lưu ý: Giả sử đã tạo database DBNAME và table tableName.

Cách lấy hàng giữ giá trị max của cột cụ thể dùng truy vấn MySQL:

Được thực hiện bằng subquery. Ở đây lấy giá trị max của colName3:

Truy vấn

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

Kết quả

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

Giải pháp khác: dùng LEFT JOIN hoặc sắp xếp tất cả hàng giảm dần theo cột cụ thể. Lấy hàng đầu tiên với mệnh đề LIMIT (đặc thù 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;

Nếu có nhiều giá trị max trong cột cùng giá trị, mệnh đề LIMIT chỉ hiển thị một trong số đó.