Để hiển thị bản ghi theo thứ tự giảm dần (DESC) đồng thời bỏ qua một số bản ghi đầu tiên, MySQL hỗ trợ cú pháp LIMIT offset, row_count.
Ví dụ minh họa
Tạo bảng:
mysql> create table DemoTable (
Id int,
Name varchar(100)
);
Chèn dữ liệu:
mysql> insert into DemoTable values(10,'Chris'); mysql> insert into DemoTable values(1,'David'); mysql> insert into DemoTable values(4,'Bob'); mysql> insert into DemoTable values(6,'Sam'); mysql> insert into DemoTable values(7,'Mike'); mysql> insert into DemoTable values(5,'Carol'); mysql> insert into DemoTable values(9,'John');
Hiển thị tất cả:
mysql> select * from DemoTable;
Kết quả:
+------+-------+ | Id | Name | +------+-------+ | 10 | Chris | | 1 | David | | 4 | Bob | | 6 | Sam | | 7 | Mike | | 5 | Carol | | 9 | John | +------+-------+
Truy vấn sắp xếp DESC và bỏ qua 3 bản ghi đầu, lấy 4 bản ghi tiếp theo
mysql> select Name from DemoTable order by Id DESC limit 3,4;
Kết quả:
+-------+ | Name | +-------+ | Sam | | Carol | | Bob | | David | +-------+
Giải thích:
ORDER BY Id DESC: Sắp xếp Id giảm dần → 10, 9, 7, 6, 5, 4, 1LIMIT 3,4: Bỏ qua 3 bản ghi đầu (offset=3), lấy 4 bản ghi tiếp theo (row_count=4)- Bỏ qua: Chris(10), John(9), Mike(7) → Lấy: Sam(6), Carol(5), Bob(4), David(1)
Cú pháp LIMIT offset, count là cơ chế phân trang (pagination) chuẩn trong MySQL.