(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 |