Hệ quản trị CSDL MySQL - Toán tử 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 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:
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 |