Chủ đề nổi bật
03/08/2018, 10:08

Bài 15: Giới hạn kết quả trả về với LIMIT trong MySQL

Khi sử dụng lệnh SELECT để lấy danh sách trong bảng thì nó sẽ trả về tất cả các record luôn, nghĩa là trong bảng của bạn có bao nhiêu records thì ...

Khi sử dụng lệnh SELECT để lấy danh sách trong bảng thì nó sẽ trả về tất cả các record luôn, nghĩa là trong bảng của bạn có bao nhiêu records thì nó sẽ trả về tất tần tật. Điều này thật sự không hay khi bạn làm các ứng dụng Website. Giải pháp của chúng ta là sử dụng lệnh LIMIT để giới hạn hết quả trả về.

1. Giới thiệu lệnh LIMIT trong MySQL

Lệnh LIMIT đi kèm với lệnh SELECT và thông thường nó nằm ở cuối cùng. Trong thuật toán phân trang sẽ sử dụng lệnh LIMIT để xác định kết quả cho mỗi trang, điều này thật sự rất là hữu ích vì nó tăng tốc độ load trang hơn.

Cú pháp LIMIT như sau

SELECT field1, field2
FROM table_name
WHERE ...
ORDER BY column_name, order_type
LIMIT start, limit

Trong đó:

  • ORDER BY là kiểu sắp xếp
  • LIMIT ta có:
    • start: lấy từ record thứ start
    • limit: bắt đầu từ start và lấy tiếp limit records.

Ví dụ: Lấy danh sách 20 sinh viên và bỏ đi 10 records đầu tiên trong kết quả trả về (bỏ đi 10 records tức là ta sẽ xác định start = 10)

SELECT *
FROM SINHVIEN
LIMIT 10, 20

2. Một số ví dụ khác với lệnh LIMIT trong MySQL

Ví dụ 1: Lấy 20 sinh viên đầu tiên trong kết quả
SELECT *
FROM SINHVIEN
LIMIT 20

Trong trường hợp này các bạn thấy tôi chỉ truyền một tham số là LIMIT 20 thôi và kết quả nó sẽ trả về 20 rows đầu tiên. 

Như vậy để lấy N rows đâu  tiên thì ta chỉ cần truyền số đó là được.

Ví dụ 2: lấy ra 5 sinh viên có năm sinh lớn nhất

Trường hợp này ta phải kết hợp với lệnh ORDER BY để sắp xếp theo sinh viên, sau đó dùng lệnh LIMIT để lấy 5 sinh viên đầu tiên.

SELECT *
FROM SINHVIEN
ORDER BY NamSinh DESC
LIMIT 5

Hoặc:

SELECT *
FROM SINHVIEN
ORDER BY NamSinh DESC
LIMIT 0, 5

3. Lời kết

Lệnh LIMIT trong MySQL cũng không có gì phức tạp nên bài này cũng tương đối đơn giản. Bài tiếp theo chúng ta sẽ tìm hiểu về cách sử dụng Alias.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan
Mới nhất

MySQL căn bản

Trong series học MySQL căn bản này bạn sẽ được hướng dẫn tự học MySQL tại nhà một cách hiệu quả, series này dành cho những bạn đang muốn tự học MySQL. Khi học lập trình web với PHP thì chắc chắn bạn sẽ được gợi ý học thêm MySQL nữa bởi bộ đôi PHP + MySQL là một cặp hoàn hảo xưa nay, nó ...

MySQL Functions

BÀI KẾ SAU BÀI KẾ TIẾP

MySQL View

BÀI KẾ SAU BÀI KẾ TIẾP

MySQL Tutorials

BÀI KẾ SAU BÀI KẾ TIẾP

Bài 20: INNER JOIN trong MySQL

Trong bài này chúng ta tìm hiểu cách sử dụng INNER JOIN để kết hai bảng với nhau. Ở bài tích đề cát chúng ta đã tìm hiểu cách truy vấn dữ liệu ...

Bài 18: Gộp kết quả với toán tử UNION trong MySQL

Nếu bạn cần viết hai câu truy vấn SELECT khác nhau nhưng bạn muốn nó trả về một danh sách kết quả duy nhất thì bạn phải sử dụng toán tử UNION. ...

Tạo Unique trong MySQL

Trong bài tạo khóa chính Primary Key mình đã nói rằng trong một bảng sẽ tồn tại một khóa chính ( có thể có nhiều fields ) và giá trị của nó sẽ là ...

Bài 13: WHERE IN - WHERE LIKE trong MySQL

Ở bài tìm hiểu lệnh SELECT mình đã liệt kê danh sách các toán tử và trong đó có hai toán tử là IN và LIKE thì trong bài này chúng ta sẽ tìm hiểu ...

Bài 16: Phép tích đề cát trong MySQL

Tích đề cát trong MySQL có nghĩa là truy vấn trên nhiều table trong cùng một câu SELECT và kêt quả trả về có thể là một trong số các fields của ...

Lệnh tạo database (Create Database) trong MySQL

Với mỗi ứng dụng chúng ta sẽ tạo một Database để lưu trữ dữ liệu của ứng dụng đó. Mỗi database sẽ có các table và trong mỗi table thì có nhiều ...