Hướng dẫn về lệnh LIMIT và Offset trong MySQL

Hướng dẫn về lệnh LIMIT và Offset trong MySQL Nhanh Chóng

Limit keyword là gì?

Limit keyword là giới hạn từ khóa được dùng để giới hạn số hàng trả về trong kết quả truy vấn ở bảng dữ liệu.

Nó có thể được dùng cùng với các lệnh Chọn (Select), Cập nhật (Update), Xóa (Delete).

SELECT {filenames(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; 

Lệnh của từ khóa LIMIT như sau:

 Ở đây:

  • SELECT {filenames(s) | *} FROM tableName(s): là câu lệnh Chọn có các trường mà chúng ta muốn trả về trong kết quả truy vấn của chúng ta.
  • [WHERE condition] : là tùy chọn nhưng khi được cung cấp dữ liệu thì mới được sử dụng để chỉ định bộ lọc trên tập kết quả.
  • LIMIT N là từ khóa và N là bất kỳ số nào từ 0, đặt 0 làm giới hạn và sẽ không trả về 1 bản ghi nào trong truy vấn. Đặt 1 số ví dụ số 5 sẽ trả lại 5 hồ sơ, nếu các bản ghi trong bảng được chỉ định nhỏ hơn N thì mọi bản ghi từ bảng truy vấn được trả về trong tập kết quả.

Ví dụ:

SELECT * FROM members LIMIT 2;

Hướng dẫn về lệnh LIMIT và Offset trong MySQL
Hướng dẫn về lệnh LIMIT và Offset trong MySQL

Như bạn thấy kết quả chỉ hiện ra 2 thành viên.

Lấy danh sách 10 thành văn chỉ từ cơ sở dữ liệu

Giả sử nếu chúng ta muốn lấy danh sách 10 thành viên đã đăng ký đầu tiên từ cơ sở dữ liệu Myflix thì chúng ta dùng câu lệnh sau:

SELECT * FROM members LIMIT 10;

Thực hiện đoạn script trên chúng ta được kết quả hiển thị bên dưới.

***Chỉ có 9 thành viên trong kết quả truy vấn vì N trong mệnh đề LIMIT lớn hơn tổng số bản ghi trong bảng.

Viết lại đoạn script trên như dưới đây:

Chỉ có 9 thành viên trong kết quả truy vấn vì N trong mệnh đề LIMIT lớn hơn tổng số bản ghi trong bảng.
Chỉ có 9 thành viên trong kết quả truy vấn vì N trong mệnh đề LIMIT lớn hơn tổng số bản ghi trong bảng.

SELECT * FROM members LIMIT 9;

Trong tập kết quả truy vấn chúng ta chỉ có 9 hàng.

Dùng lệnh Offset trong Limit query 

Các Offset có giá trị cũng thường được dùng cùng các từ khóa LIMIT. Giá trị Offset cho phép chúng ta chỉ định hàng nào sẽ bắt đầu khi truy xuất dữ liệu.

Nếu chúng ta muốn hạn chế số lượng thành viên bắt đầu từ giữa các hàng thì chúng ta có thể dùng Giới hạn từ khóa cùng với giá trị Offset để thực hiện. Như bên dưới dữ liệu bắt đầu từ hàng 2 và giới hạn kết quả là 2.

SELECT * FROM members LIMIT 1,2;

Chạy đoạn script trên có kết quả như sau:

SELECT * FROM members LIMIT 1,2;
SELECT * FROM members LIMIT 1,2;

***Offset =1 nên kết quả bắt đầu từ hàng 2 và Limit = 2 nên chỉ có 2 bản ghi được trả về.

Khi nào chúng ta mới sử dụng Giới hạn từ khóa

Nếu chúng ta đang phát triển ứng dụng chạy trên myflixdb nhà thiết kế hệ thống yêu cầu giới hạn số lượng bản ghi được hiển thị trên 1 trang để 20 bản ghi trên mỗi trang thời gian sẽ tải nhanh hơn. Làm sao để chúng ta thực hiện đáp ứng các yêu cầu này?

Giới hạn từ khóa có ích trong các hình huống như thế nên chúng ta có thể giới hạn kết quả truy vấn còn 20 bản ghi trên mỗi trang.

Tóm tắt

Giới hạn từ khóa được dùng để giới hạn số lượng hàng được trả về từ tập kết quả đó.

Giới hạn số thì có thể là bất kỳ số nào từ 0 trở lên, khi 0 được chỉ định làm giới hạn thì không có hàng nào được trả về từ tập kết quả.

Giá trị Offset cho phép ta chỉ định hàng nào sẽ bắt đầu từ khi truy xuất dữ liệu.

Nó có thể dùng cùng các lệnh Chọn, Cập nhật, Xóa.

ĐỌC THÊM: Hướng dẫn cách sử dụng UNION trong MySQL

Hướng dẫn cách kết nối SQL với Excel để lấy dữ liệu

Rate this post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *