Giới thiệu
Để lấy ít nhất một số lượng dòng xác định trong MySQL, bạn sử dụng mệnh đề LIMIT kết hợp với ORDER BY để kiểm soát thứ tự sắp xếp.
Cú pháp cơ bản
SELECT * FROM ten_bang
ORDER BY ten_cot DESC
LIMIT so_dong_can_lay;
Ví dụ minh họa
Tạo bảng DemoTable:
CREATE TABLE DemoTable (
EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
EmployeeName VARCHAR(100)
);
Chèn dữ liệu mẫu:
INSERT INTO DemoTable(EmployeeName) VALUES
('Chris'), ('David'), ('Bob'), ('Robert'), ('Mike'), ('Sam');
Hiển thị toàn bộ dữ liệu:
SELECT * FROM DemoTable;
Kết quả:
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 1 | Chris |
| 2 | David |
| 3 | Bob |
| 4 | Robert |
| 5 | Mike |
| 6 | Sam |
+------------+--------------+
Truy vấn lấy 2 dòng có tên nhân viên lớn nhất (theo thứ tự giảm dần):
SELECT * FROM DemoTable
ORDER BY EmployeeName DESC
LIMIT 2;
Kết quả:
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 6 | Sam |
| 4 | Robert |
+------------+--------------+
Lưu ý quan trọng
- Luôn sử dụng
ORDER BYđể đảm bảo kết quả nhất quán. LIMITchỉ giới hạn số dòng trả về, không đảm bảo thứ tự nếu không cóORDER BY.- Có thể dùng
LIMIT offset, row_countđể phân trang.