หา row ที่มีค่าสูงสุดของ column เฉพาะใน MySQL
สมมติ: มี database 'DBNAME' และ table 'tableName'
Query (ใช้ Subquery)
SELECT colName1, colName2, colName3 FROM tableName WHERE colName3=(SELECT MAX(colName3) FROM tableName);
Output
+--------------+--------------+--------------+ | colName1 | colName2 | colName3 | +--------------+--------------+--------------+ | 0003 | D | 20.05 | +--------------+--------------+--------------+
วิธีอื่นๆ
-- Subquery (เหมือนข้างต้น) SELECT colName1, colName2, colName3 FROM tableName WHERE colName3=(SELECT MAX(colName3) FROM tableName); -- LEFT JOIN SELECT s1.colName1, s1.colName2, s1.colName3 FROM tableName s1 LEFT JOIN tableName s2 ON s1.colName3 < s2.colName3 WHERE s2.colName1 IS NULL; -- ORDER BY + LIMIT (MySQL-specific) SELECT colName1, colName2, colName3 FROM tableName ORDER BY colName3 DESC LIMIT 1;
หมายเหตุ: หากมี multiple maximum values ที่เท่ากัน LIMIT 1 จะแสดงแค่หนึ่ง row