18/08/2018, 10:55

(LIMIT) Giới hạn số lượng kết quả trả về trong MySQL

Thông thường khi truy xuất dữ liệu, MySQL sẽ trả về một bảng tất cả các kết quả thỏa điều kiện. Tuy nhiên, sẽ có lúc bạn không muốn lấy hết tất cả, bạn chỉ muốn lấy một số lượng nào đó (Ví dụ như muốn lấy 5 kết quả). Khi đó, từ khóa LIMIT sẽ giúp bạn giải quyết vấn đề này. Cú pháp giới ...

Thông thường khi truy xuất dữ liệu, MySQL sẽ trả về một bảng tất cả các kết quả thỏa điều kiện.

Tuy nhiên, sẽ có lúc bạn không muốn lấy hết tất cả, bạn chỉ muốn lấy một số lượng nào đó (Ví dụ như muốn lấy 5 kết quả). Khi đó, từ khóa LIMIT sẽ giúp bạn giải quyết vấn đề này.

Cú pháp giới hạn số lượng kết quả trả về 

SELECT *
FROM name_table
LIMIT num_ber;

Trong đó:

  • name_table là tên bảng mà bạn muốn lấy dữ liệu.
  • num_ber là số lượng kết quả mà bạn muốn lấy.

Một số ví dụ

Chúng ta có một bảng sinh_vien như sau:

(Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Bui Thanh Bao Nam 19 Soc Trang
Le My Nhan Nu 22 Can Tho
Tan Thuc Bao Nam 35 An Giang
Trinh Giao Kim Nam 44 Bac Lieu

Ví dụ 1

Từ danh sách sinh viên, lấy ra 3 sinh viên

SELECT *
FROM sinh_vien
LIMIT 3;

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang

Ví dụ 2 (nâng cao)

Từ danh sách sinh viên, lấy ra 3 sinh viên có giới tính Nam và tuổi lớn nhất

SELECT *
FROM sinh_vien
WHERE Gender = 'Nam'
ORDER BY Age DESC
LIMIT 3;

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Trinh Giao Kim Nam 44 Bac Lieu
Tan Thuc Bao Nam 35 An Giang
Nguyen Thanh Nhan Nam 19 Can Tho

Ví dụ 3 (nâng cao)

Từ danh sách sinh viên, lấy ra HỌ TÊN & THÀNH PHỐ của 2 sinh viên Nam có tuổi nhỏ nhất.

SELECT Full_name, City
FROM sinh_vien
WHERE Gender = 'Nam'
ORDER BY Age ASC
LIMIT 2;

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name City
Nguyen Thanh Nhan Can Tho
Bui Thanh Bao Soc Trang
0