Vấn đề:
Bạn muốn giới hạn số hàng do truy vấn trong MySQL, PostgreSQL hoặc SQLite.
Ví dụ:
Trong exam bảng, có tên của học sinh với kết quả của kỳ thi.
| name | exam_result |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Bạn muốn có được ba hàng với kết quả kiểm tra tốt nhất.
Giải pháp:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
Kết quả của truy vấn trông giống như sau:
| name | exam_result |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Thảo luận:
Đầu tiên, hãy sắp xếp các hàng theo exam_result theo thứ tự giảm dần bằng cách sử dụng ORDER BY và mệnh đề DESC từ khóa. Sau đó, sau ORDER BY , sử dụng LIMIT từ khóa với một số hàng bạn muốn trả lại (tại đây, 3 ).
ORDER BY exam_result DESC LIMIT 3
Nếu bạn muốn lấy ngẫu nhiên ba hàng thay vì ba hàng tốt nhất, hãy bỏ qua ORDER BY một phần.
SELECT * FROM exam LIMIT 3;
Tất nhiên, bạn có thể lấy bất kỳ số hàng nào bạn muốn. Chỉ cần thay thế 3 với số bạn muốn.