Từ khóa LIMIT
Mặc định thì tất cả các kết quả của câu truy vấn sẽ được trả về. Tuy nhiên đôi khi ta muốn lấy một số tập hợp nhỏ (một khoảng) của kết quả thôi.
Lúc đó có thể dùng LITMIT
hỗ trợ trong MySQL, SQLite ...
Cú pháp như sau:
SELECT column list FROM table_name LIMIT số-dòng-cần-lấy;
Ví dụ: Lấy 3 dòng kết quả đầu tiên của câu truy vấn
SELECT * FROM Khachhang LIMIT 3;
Bạn có thể thực hành các câu lệnh SQL ví dụ trên CSDL mẫu SQLite có sẵn tại SQLite và thực hành lệnh SQL
Kết quả
KhachhangID | HoTen | TenLienLac | Diachi | Thanhpho | MaBuudien | QuocGia |
---|---|---|---|---|---|---|
1 | Đặng Tuấn Anh | Đặng Tuấn Anh | nkhbiq Bà Rịa - Vũng Tàu | Bà Rịa - Vũng Tàu | 222 | Đức |
2 | Hoàng Đức Anh | Hoàng Đức Anh | u Kiên Giang | Kiên Giang | 100 | Đức |
3 | Lưu Trang Anh | Lưu Trang Anh | h Gia Lai | Gia Lai | 222 | Mỹ |
Với SQL Server
, MS Access
thì dùng khóa TOP
SELECT TOP 3 * FROM Khachhang
Với Oracle
thì dùng ROWNUM
trong mệnh đề WHERE
SELECT * FROM Khachhang WHERE ROWNUM <= 3;
LIMIT với chỉ số offset
Thay vì lấy số lượng dòng đầu tiên chỉ ra như trên, bạn có thể lấy một số lượng dòng tính từ dòng chỉ định.
Ví dụ sau lấy 4 dòng, tính từ thứ tự thứ 3 của kết tập kết quả:
SELECT * FROM Khachhang LIMIT 3,4;
KhachhangID | HoTen | TenLienLac | Diachi | Thanhpho | MaBuudien | QuocGia |
---|---|---|---|---|---|---|
4 | Phạm Hoàng Anh | Phạm Hoàng Anh | bo Sơn La | Sơn La | 100 | Việt Nam |
5 | Đỗ Hoàng Gia Bảo | Đỗ Hoàng Gia Bảo | dpbzwnf An Giang | An Giang | 100 | Việt Nam |
6 | Trần Thị Minh Châu | Trần Thị Minh Châu | sizxey Hưng Yên | Hưng Yên | 100 | Việt Nam |
7 | Tăng Phương Chi | Tăng Phương Chi | g Hải Dương | Hải Dương | 888 | Mỹ |