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

Lấy bản ghi cuối cùng không dùng LIMIT trong MySQL

Để lấy bản ghi mới nhất (có ID lớn nhất) mà không dùng LIMIT, có thể dùng truy vấn con (subquery) với hàm MAX().

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(100)
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable(Name) VALUES('John Smith');
mysql> INSERT INTO DemoTable(Name) VALUES('David Miller');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris Brown');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+----+--------------+
| Id | Name         |
+----+--------------+
| 1  | John Smith   |
| 2  | David Miller |
| 3  | Chris Brown  |
+----+--------------+

Truy vấn lấy bản ghi cuối:

mysql> SELECT * FROM DemoTable
    -> WHERE Id = (SELECT MAX(Id) FROM DemoTable);

Kết quả

+----+-------------+
| Id | Name        |
+----+-------------+
| 3  | Chris Brown |
+----+-------------+

Lưu ý: Cách này hiệu quả khi cột Id là khóa chính tự tăng. Nếu cần sắp xếp theo thời gian, hãy dùng cột DATETIME và MAX() trên cột đó.