Thứ Sáu, 6 Tháng Mười Hai 2024
Trang chủPHP & MysqlMySQLMệnh đề LIMIT & OFFSET trong MySQL - Giới hạn bản ghi

Mệnh đề LIMIT & OFFSET trong MySQL – Giới hạn bản ghi

Trong MySQL Mệnh đề LIMIT & OFFSET được sử dụng để giới hạn các bản ghi được truy vấn, offset để chỉ định sẽ lấy bản ghi từ hàng số bao nhiêu.

DANH SÁCH BÀI VIẾT
Mệnh đề LIMIT & OFFSET trong MySQL - Giới hạn bản ghi
Mệnh đề HAVING trong MySQL - Đặt đk sau các hàm tổng hợp
Mệnh đề ORDER BY trong MySQL - Mệnh đề sắp xếp bản ghi
Mệnh đề GROUP BY trong MySQL - Mệnh đề nhóm dữ liệu bản ghi
Tìm hiểu Mệnh đề WHERE IN, WHERE NOT IN trong MySQL

Sử dụng limit

Limit để giới hạn số lượng bản ghi sẽ được lấy.

Cú pháp limit

SELECT  column_list
FROM table
LIMIT number_of_rows

Trong đó:

  • column_list: Là tên các cột
  • table: Tên bảng
  • number_of_rows: Đặt giới hạn số hàng sẽ được lấy

Ví dụ

Mình có bảng users như bên dưới đây.

Bảng dữ liệu users

Trong bảng này truy vấn mình chỉ muốn lấy ra 5 hàng đầu tiên, sử dụng mệnh đề limit để giới hạn các bản ghi như sau.

SELECT * FROM `users`
LIMIT 5

Kết quả thực hiện truy vấn

Kết quả thực hiện truy vấn sử dụng mệnh đề limit

Kết quả chỉ lấy ra 5 hàng đầu tiên trong bảng.

Sử dụng offset

Offset được sử dụng để chỉ định vị trí hàng sẽ bắt đầu lấy trong truy vấn(Nếu hiểu đúng thì offset được sử dụng để bỏ qua số lượng hàng trong truy vấn),

Cú pháp offset

SELECT column_name(s)
FROM table_name
LIMIT number_of_rows
OFFSET offset_value;

Trong đó:

  • offset_value: Số hàng sẽ bỏ qua trong truy vấn (Lấy từ hàng đầu tiên offset sẽ là 0, lấy từ hàng thứ 10 trở đi offset sẽ là 9).

Ví dụ: Cũng với ví dụ trên, ta sẽ lấy 5 hàng trong bảng dữ liệu tuy nhiên sẽ lấy bắt đầu từ hàng thứ 4, viết lệnh SQL như sau.

SELECT * FROM `users`
LIMIT 5 OFFSET 3

Kết quả thực hiện truy vấn

Kết quả thực hiện limit offset

Như vậy có thể thấy kết quả được lấy từ hàng thứ 4 cho tới hàng thứ 9 trong bảng dữ liệu.

Mệnh đề LIMIT & OFFSET được áp dụng cho rất nhiều các yêu cầu bài toán. Ví dụ như khi bảng dữ liệu quá lớn, ta không thể lấy tất cả dữ liệu ra cùng một lúc được mà phải chia nhỏ chúng ra lấy từng phần, hoặc trong bài toán phân trang.

Cảm ơn bạn đã đọc hết bài viết! Chúc bạn học tốt!

[XEM CÁC BÀI VIẾT CHUYÊN ĐỀ HỌC MYSQL CƠ BẢN TẠI ĐÂY]

XEM THÊM
Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng
Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
Mệnh đề FROM trong MySQL – truy vấn từ bảng nào
Mệnh đề ORDER BY trong MySQL – Hướng dẫn và ví dụ áp dụng
Mệnh đề GROUP BY trong MySQL – Hướng dẫn và ví dụ sử dụng
Tìm hiểu mệnh đề HAVING trong MySQL – Mệnh đề điều kiện
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x