Hai cách phổ biến: ORDER BY ... DESC LIMIT 1 hoặc dùng MAX() trên cột tăng dần (thường là khóa chính AUTO_INCREMENT).
Cách 1: ORDER BY ... DESC LIMIT 1 (đơn giản, linh hoạt)
SELECT * FROM ten_bang ORDER BY cot_sap_xep DESC LIMIT 1;
Cách 2: Dùng MAX() (hiệu năng tốt nếu có index)
SET @max_id = (SELECT MAX(cot_id) FROM ten_bang);
SELECT * FROM ten_bang WHERE cot_id = @max_id;
Ví dụ minh họa
Bảng lastEntryDemo (Id AUTO_INCREMENT):
INSERT INTO lastEntryDemo (Name, Age) VALUES
('Larry',24), ('John',21), ('David',22), ('Bob',25), ('Carol',29), ('Mike',23), ('Sam',20);
Cách 1: ORDER BY Name DESC LIMIT 1
SELECT * FROM lastEntryDemo ORDER BY Name DESC LIMIT 1;
+----+------+------+
| Id | Name | Age |
+----+------+------+
| 7 | Sam | 20 |
+----+------+------+
(Sắp xếp theo tên chữ cái, 'Sam' lớn nhất)
Cách 2: MAX(Id)
SET @MaxId = (SELECT MAX(Id) FROM lastEntryDemo);
SELECT * FROM lastEntryDemo WHERE Id = @MaxId;
+----+------+------+
| Id | Name | Age |
+----+------+------+
| 7 | Sam | 20 |
+----+------+------+
(Hàng insert cuối cùng có Id lớn nhất = 7)
Khuyến nghị:
- Muốn hàng insert cuối: dùng
MAX(Id)(nhanh, dùng index PK). - Muốn hàng "cuối" theo tiêu chí khác (ngày, tên...): dùng
ORDER BY cot DESC LIMIT 1. - MySQL 8.0+:
SELECT * FROM ten_bang ORDER BY cot DESC LIMIT 1tối ưu tốt với index.