Chuyển đến nội dung chính
Mô-đun 2 · Bài học 1 trong tổng số 45/57 trong khóa học~6 min
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:

SQL
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ụ

SQL
-- 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ó

tập thể dục#sql.m2.l1.e1
Nỗ lực: 0Đang tải…

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.

Đang tải trình chỉnh sửa…
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

tập thể dục#sql.m2.l1.e2
Nỗ lực: 0Đang tải…

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.

Đang tải trình chỉnh sửa…
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ử