SELECT với LIMIT OFFSET là một trong các mệnh đề khá phổ biến trong khi truy vấn trên cơ sở dữ liệu. Bài viết này SmartData sẽ giải thích cặn kẽ cho các bạn ý nghĩa và cách sử dụng mệnh đề SELECT LIMIT OFFSET trong Mysql.
SELECT LIMIT OFFSET để làm gì
SELECT với LIMIT là một cú pháp của MySQL giúp cho bạn có thể giới hạn số lượng bản ghi trả ra. Kèm theo đó MySQL cũng hỗ trợ bạn cú pháp để có thể đặt giá trị offset cho câu lệnh. Giá trị offset chỉ ra vị trí của phần tử đầu tiên mà bạn muốn lấy.
Tham khảo cách cài đặt Mysql tại đây
Ví dụ về SELECt với LIMIT và OFFSET
Bạn có thể xem ví dụ sau, giả sử ta có một bảng dữ liệu với tên là “NHANVIEN” như sau:
Giả sử bạn chỉ muốn giới hạn lấy ra 5 bản ghi, cú pháp câu lệnh sẽ như như sau:
SELECT * FROM USERS ORDER BY PHG desc LIMIT 5
Khi đó giá trị trả ra như sau:
Câu lệnh trên lấy 5 bản ghi đầu tiên được sắp xếp theo cột PHG với thứ tự giảm dần trong tập 11 bản ghi sẵn có. Tuy nhiên một số trường hợp ta không muốn lấy ra 5 giá trị đầu tiên mà muốn lấy ra 5 giá trị tính từ vị trí số 3 chẳng hạn
Khi đó cú pháp truy vấn sẽ như sau:
SELECT * FROM USERS ORDER BY PHG desc LIMIT 5 OFFSET 3
Hoặc sử dụng cú pháp ngắn ngọn như sau:
SELECT * FROM USERS ORDER BY PHG desc LIMIT 3, 5
Trong đó so với cú pháp LIMIT OFFSET, cú pháp rút ngắn phía trên đảo vị trí giá trị LIMIT ra sau cùng và đẩy giá trị OFFSET lên trên. Trên thực tế khi các bạn gõ lệnh LIMIT 5, thực chất có một giá trị OFFSET được ẩn đi và mặc định ngầm hiểu là lấy giá trị đầu tiên. LIMIT 5 sẽ tương tự với LIMIT 1,5
Khi đó kết quả trả ra sẽ như sau:
Tổng kết
Bài viết trên SmartData đã hướng dẫn các bạn cách sử dụng SELECT LIMIT OFFSET
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 6 tháng của SmartData
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: