Bài 15: Giới hạn kết quả trả về với LIMIT trong MySQL

Khi sử dụng lệnh SELECT để lấy danh sách trong bảng thì nó sẽ trả về tất cả các record luôn, nghĩa là trong bảng của bạn có bao nhiêu records thì nó sẽ trả về tất tần tật. Điều này thật sự không hay khi bạn làm các ứng dụng Website. Giải pháp của chúng ta là sử dụng lệnh LIMIT để giới hạn hết quả trả về.

1. Giới thiệu lệnh LIMIT trong MySQL

Lệnh LIMIT đi kèm với lệnh SELECT và thông thường nó nằm ở cuối cùng. Trong thuật toán phân trang sẽ sử dụng lệnh LIMIT để xác định kết quả cho mỗi trang, điều này thật sự rất là hữu ích vì nó tăng tốc độ load trang hơn.

Cú pháp LIMIT như sau

SELECT field1, field2
FROM table_name
WHERE ...
ORDER BY column_name, order_type
LIMIT start, limit

Trong đó:

  • ORDER BY là kiểu sắp xếp
  • LIMIT ta có:
    • start: lấy từ record thứ start
    • limit: bắt đầu từ start và lấy tiếp limit records.

Ví dụ: Lấy danh sách 20 sinh viên và bỏ đi 10 records đầu tiên trong kết quả trả về (bỏ đi 10 records tức là ta sẽ xác định start = 10)

SELECT *
FROM SINHVIEN
LIMIT 10, 20

2. Một số ví dụ khác với lệnh LIMIT trong MySQL

Ví dụ 1: Lấy 20 sinh viên đầu tiên trong kết quả

SELECT *
FROM SINHVIEN
LIMIT 20

Trong trường hợp này các bạn thấy tôi chỉ truyền một tham số là LIMIT 20 thôi và kết quả nó sẽ trả về 20 rows đầu tiên. 

Như vậy để lấy N rows đâu  tiên thì ta chỉ cần truyền số đó là được.

Ví dụ 2: lấy ra 5 sinh viên có năm sinh lớn nhất

Trường hợp này ta phải kết hợp với lệnh ORDER BY để sắp xếp theo sinh viên, sau đó dùng lệnh LIMIT để lấy 5 sinh viên đầu tiên.

SELECT *
FROM SINHVIEN
ORDER BY NamSinh DESC
LIMIT 5

Hoặc:

SELECT *
FROM SINHVIEN
ORDER BY NamSinh DESC
LIMIT 0, 5

3. Lời kết

Lệnh LIMIT trong MySQL cũng không có gì phức tạp nên bài này cũng tương đối đơn giản. Bài tiếp theo chúng ta sẽ tìm hiểu về cách sử dụng Alias.

Combo học PHP MVC từ căn bản tới nâng cao!
Đây là khóa học hướng dẫn bạn cách xây dựng website dựa theo mô hình MVC, một mô hình rất quen thuộc bắt buộc ai cũng phải biết. Khóa học khá chất lượng nhé bạn.
XEM NGAY

Nguồn: freetuts.net

KHÓA HỌC ĐANG GIẢM GIÁ

FEDU - 18: Học lập trình PHP/MySql Back-end theo mô hình MVC.

(Giảng viên: Nguyễn Đức Việt)

XEM
FEDU - 18-19: Học lập trình Back-end Php/MySQL theo mô hình MVC từ cơ bản – nâng cao (combo)

( Nguyễn Đức Việt)

XEM
UNICA - Lập trình Backend cho website bằng PHP/Mysql theo mô hình MVC

(Giảng viên: Nguyễn Đức Việt)

XEM
UNICA - Lập trình FULLSTACK với ANGULAR - PHP - MYSQL

(Giảng viên: Nguyễn Đức Việt)

XEM
KYNA - Lập trình Fullstack với Angular - PHP - MySQL

(Giảng viên: Nguyễn Đức Việt)

XEM

BÌNH LUẬN

Đặt câu hỏi: Hãy tham gia vào group học lập trình web để tham gia thảo luận và đặt câu hỏi, với hơn 30.000 thành viên hiện đang hoạt động tại group này. Ngoài ra bạn cũng có thể đặt câu hỏi nếu cần tư vấn về các vấn đề như định hướng nghề nghiệp, những khó khăn trong quá trình học tập.

Hỗ trợ việc làm: Hãy tham gia vào group việc làm công nghệ thông tin để tìm và đăng tuyển lập trình viên. Hy vọng đây sẽ là nơi tìm kiếm việc làm lý tưởng cho bạn và nhà tuyển dụng.