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

วิธีเลือกแถวที่มี ID สูงสุดใน MySQL

การใช้ ORDER BY DESC LIMIT 1

วิธีง่ายที่สุดในการดึงแถวที่มีค่าสูงสุดในคอลัมน์ ID คือ เรียงลำดับจากมากไปน้อย (DESC) แล้วจำกัดผลลัพธ์ 1 แถว

รูปแบบคำสั่ง

SELECT * FROM yourTableName 
ORDER BY yourColumnName DESC 
LIMIT 1 OFFSET 0;

ตัวอย่างการสร้างตารางและข้อมูล

mysql> CREATE TABLE HighestIdOrderBy (
    -> EmployeeId INT,
    -> EmployeeName VARCHAR(200)
    -> );
Query OK, 0 rows affected (0.58 sec)

mysql> INSERT INTO HighestIdOrderBy VALUES(200,'David');
mysql> INSERT INTO HighestIdOrderBy VALUES(1000,'Bob');
mysql> INSERT INTO HighestIdOrderBy VALUES(600,'John');
mysql> INSERT INTO HighestIdOrderBy VALUES(300,'Johnson');
mysql> INSERT INTO HighestIdOrderBy VALUES(100,'Carol');

ข้อมูลทั้งหมด

mysql> SELECT * FROM HighestIdOrderBy;
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 200        | David        |
| 1000       | Bob          |
| 600        | John         |
| 300        | Johnson      |
| 100        | Carol        |
+------------+--------------+
5 rows in set (0.00 sec)

คำสั่งดึง ID สูงสุด

mysql> SELECT * FROM HighestIdOrderBy 
    -> ORDER BY EmployeeId DESC 
    -> LIMIT 1 OFFSET 0;
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 1000       | Bob          |
+------------+--------------+
1 row in set (0.00 sec)

หมายเหตุ: สามารถใช้ LIMIT 1 แทน LIMIT 1 OFFSET 0 ได้ ผลลัพธ์จะเหมือนกัน