Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Row Holding Maximum ของ Column ใน MySQL

หา 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