MySQL GIỚI HẠN & BẮT ĐẦU với các ví dụ

Từ khóa LIMIT là gì?

Từ khóa giới hạn được sử dụng để giới hạn số lượng hàng được trả về trong kết quả truy vấn.

Nó có thể được sử dụng kết hợp với các lệnh CHỌN, CẬP NHẬT HOẶC XÓA cú pháp từ khóa LIMIT

Cú pháp của từ khóa LIMIT như sau

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

tại ĐÂY

  • “CHỌN {tên trường | *} TỪ (các) tên bảng”Câu lệnh SELECT chứa các trường mà chúng tôi muốn trả về trong truy vấn của mình.
  • “[Điều kiện WHERE]” là tùy chọn nhưng khi được cung cấp, có thể được sử dụng để chỉ định bộ lọc trên tập kết quả.
  • “GIỚI HẠN N” là từ khóa và N là bất kỳ số nào bắt đầu từ 0, đặt 0 làm giới hạn sẽ không trả về bất kỳ bản ghi nào trong truy vấn. Đặt một số nói 5 sẽ trả về năm bản ghi. Nếu các bản ghi trong bảng được chỉ định nhỏ hơn N thì tất cả các bản ghi từ bảng được truy vấn sẽ được trả về trong tập kết quả.

Hãy xem một ví dụ –

SELECT *  FROM members LIMIT 2;
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL

Như bạn có thể thấy từ ảnh chụp màn hình ở trên, chỉ có hai thành viên được trả lại.

Lấy danh sách mười (10) thành viên chỉ từ cơ sở dữ liệu

Giả sử 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. Chúng ta sẽ sử dụng tập lệnh sau để thực hiện điều đó.

SELECT *  FROM members LIMIT 10;

Thực thi đoạn script trên cho chúng ta kết quả như bên dưới

membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com NULL
4 Gloria Williams Female 14-02-1984 NULL 2nd Street 23 NULL NULL NULL NULL
5 Leonard Hofstadter Male NULL NULL Woodcrest NULL 845738767 NULL NULL
6 Sheldon Cooper Male NULL NULL Woodcrest NULL 976736763 NULL NULL
7 Rajesh Koothrappali Male NULL NULL Woodcrest NULL 938867763 NULL NULL
8 Leslie Winkle Male 14-02-1984 NULL Woodcrest NULL 987636553 NULL NULL
9 Howard Wolowitz Male 24-08-1981 NULL SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me NULL

Lưu ý rằng chỉ có 9 thành viên được trả về trong truy vấn của chúng tôi vì N trong mệnh đề LIMIT lớn hơn tổng số bản ghi trong bảng của chúng tôi.

Viết lại đoạn script trên như sau

SELECT *  FROM members LIMIT 9;

Chỉ trả về 9 hàng trong tập kết quả truy vấn của chúng tôi.

Sử dụng TẮT SET trong truy vấn LIMIT

Sản phẩm BÙ LẠI giá trị cũng thường được sử dụng cùng với từ khóa LIMIT. Giá trị OFF SET cho phép chúng ta chỉ định hàng nào sẽ bắt đầu lấy dữ liệu

Giả sử rằng chúng ta muốn có số lượng thành viên giới hạn bắt đầu từ giữa các hàng, chúng ta có thể sử dụng từ khóa LIMIT cùng với giá trị offset để đạt được điều đó. Tập lệnh hiển thị bên dưới lấy dữ liệu bắt đầu từ hàng thứ hai và giới hạn kết quả ở mức 2.

SELECT * FROM `members` LIMIT 1, 2;

Thực thi đoạn script trên trong MySQL so sánh workbench với myflixdb cho kết quả như sau.

membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com NULL

Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

Khi nào chúng ta nên sử dụng từ khóa LIMIT?

Giả sử rằng chúng tôi đang phát triển ứng dụng chạy trên myflixdb. Người thiết kế hệ thống của chúng tôi đã yêu cầu chúng tôi giới hạn số lượng bản ghi được hiển thị trên một trang là 20 bản ghi trên mỗi trang để tránh thời gian tải chậm. Chúng ta sẽ triển khai hệ thống như thế nào để đáp ứng được những yêu cầu đó của người dùng? Từ khóa LIMIT có ích trong những tình huống như vậy. Chúng tôi có thể giới hạn kết quả trả về từ một truy vấn ở mức chỉ 20 bản ghi trên mỗi trang.

Tổng kết

  • Từ khóa LIMIT được sử dụng để giới hạn số lượng hàng được trả về từ tập kết quả.
  • Số LIMIT có thể là bất kỳ số nào từ 0 (0) trở lên. Khi số XNUMX (XNUMX) được chỉ định làm giới hạn, không có hàng nào được trả về từ tập kết quả.
  • Giá trị OFF SET cho phép chúng ta chỉ định hàng nào sẽ bắt đầu lấy dữ liệu
  • Nó có thể được sử dụng kết hợp với các lệnh CHỌN, CẬP NHẬT HOẶC XÓA cú pháp từ khóa LIMIT