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

Cách lấy ít nhất X dòng trong MySQL

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.
  • LIMIT chỉ 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.