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ì 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ề.

test php

banquyen pngBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

Bài viết này được đăng tại [free tuts .net]

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.

Từ khóa » Câu Lệnh Limit Trong Sql Server