Bài học theo mô-đun (1/4)
Giới hạn với LIMIT
Một truy vấn có thể dễ dàng trả về hàng nghìn (hoặc hàng triệu) hàng. Khi bạn chỉ
muốn xem trước — hoặc khi bạn muốn xây dựng xếp hạng N hàng đầu — bạn sử dụng
mệnh đề LIMIT:
SELECT <colonne>
FROM <tabella>
[WHERE <condizione>]
[ORDER BY <colonna> [ASC|DESC]]
LIMIT <numero>;LIMIT đi vào cuối truy vấn và cắt ngắn kết quả thành
số hàng đã cho. Chỉ xây dựng thứ hạng thôi thì chưa đủ: không có
ORDER BY, SQL không đảm bảo bạn sẽ lấy lại được _hàng nào. Vì thế vàng
quy tắc là:
Top-N =
ORDER BY+LIMIT.
Ví dụ
-- Le prime 5 righe della tabella, in ordine arbitrario:
SELECT * FROM employees LIMIT 5;
-- I 3 dipendenti più pagati:
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
LIMIT 3;
-- I 5 progetti con il budget più basso:
SELECT name, budget
FROM projects
ORDER BY budget ASC
LIMIT 5;Hãy thử nó
Hiển thị họ (last_name) và mức lương (mức lương) của 3 nhân viên được trả lương cao nhất, từ cao nhất đến thấp nhất.
Hiển thị gợi ý
Bạn cần ĐẶT HÀNG THEO lương DESC để xếp hạng và GIỚI HẠN 3 để dừng ở top ba.
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
Bỏ qua 2 nhân viên được trả lương cao nhất và hiển thị 3 nhân viên ngay sau đó (thứ 3, 4 và 5 trong bảng xếp hạng lương giảm dần). Sử dụng OFFSET sau LIMIT.
Hiển thị gợi ý
OFFSET 2 bỏ qua 2 hàng đầu tiên, LIMIT 3 mất 3 hàng tiếp theo.
Giải pháp khả dụng sau 3 lần thử