×

Làm thế nào để áp dụng phân trang trong kết quả truy vấn?

Trong MySQL, bạn có thể áp dụng phân trang cho kết quả truy vấn sử dụng từ khóa LIMITOFFSET. Điều này rất hữu ích khi bạn cần xử lý một lượng lớn dữ liệu và chỉ muốn hiển thị một phần nhỏ dữ liệu tại một thời điểm, chẳng hạn như khi hiển thị kết quả trên các trang web.

Sử dụng LIMIT

LIMIT được sử dụng để giới hạn số lượng bản ghi được trả về từ truy vấn.

Cú pháp:

SELECT column_names
FROM table_name
LIMIT number_of_records;

Ví dụ: Để lấy 10 bản ghi đầu tiên từ bảng nguoi_dung:

SELECT * FROM nguoi_dung
LIMIT 10;

Sử dụng LIMIT với OFFSET

OFFSET chỉ định vị trí bắt đầu lấy bản ghi trong bảng, kết hợp với LIMIT để áp dụng phân trang.

Cú pháp:

SELECT column_names
FROM table_name
LIMIT number_of_records OFFSET start_position;

Trong đó start_position là chỉ số bắt đầu (bắt đầu từ 0), và number_of_records là số lượng bản ghi bạn muốn lấy.

Ví dụ: Để lấy 10 bản ghi tiếp theo sau 20 bản ghi đầu tiên từ bảng nguoi_dung (tức là bản ghi từ 21 đến 30):

SELECT * FROM nguoi_dung
LIMIT 10 OFFSET 20;

Một cách khác để viết truy vấn trên mà không cần sử dụng OFFSET rõ ràng là đặt số lượng bản ghi và vị trí bắt đầu cách nhau bằng dấu phẩy:

SELECT * FROM nguoi_dung
LIMIT 20, 10;  -- Bỏ qua 20 bản ghi đầu tiên, lấy 10 bản ghi tiếp theo

Phân trang là một kỹ thuật quan trọng, đặc biệt trong việc phát triển ứng dụng web, nơi mà việc hiển thị hàng nghìn hoặc hàng triệu bản ghi cùng một lúc có thể làm giảm hiệu suất và ảnh hưởng đến trải nghiệm người dùng.

Comments