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

Dự đoán kết quả game PUBG với Machine Learning? Chuyện thật cứ như đùa.

Đối với các anh em làm về Machine Learning (ML) và Deep Learning (DL) thì Kaggle là một địa chỉ khá quen thuộc. Trên Kaggle , có rất nhiều challenge với các độ khó và dễ khác nhau, rất thích hợp cho các bạn làm về ML, DL luyện tập thêm. Hôm vừa rồi mình thấy có 1 challenge khá hay về việc dữ đoán ...

Hoàng Hải Đăng viết 1 tuần trước

Kiểm soát kết quả trả về null hay empty trong câu truy vấn sql

Hôm nay lại có cái hay ho để chia sẽ đó là làm thế nào để kiểm soát giá trị câu query khi trả về giá trị null hay empty. Lúc lọ mọ modify một câu store procedure, thấy nó dùng cái biểu thức CASE khắp mọi mơi, cứ mỗi cái ELSE trong mỗi CASE thì nó trả về một chuỗi rỗng là ”. Có tầm cả trăm ...

Trần Trung Dũng viết 3 tuần trước

Giới hạn kết quả trả về với lệnh LIMIT trong MySQL

Tìm hiểu WHERE IN – WHERE LIKE trong MySQL Cách sắp xếp kết quả với lệnh Order By trong MySQL Tìm hiểu phép tích đề cát trong MySQL Cách sử dụng AS (Alias) trong MySQL Hướng dẫn cách giới hạn kết quả trả về với LIMIT trong MySQL , cách dùng lệnh LIMIT để lấy kết quả trả về trong một ...

Trần Trung Dũng viết 17:24 ngày 04/09/2018

Giới thiệu sơ qua các KIỂU DỮ LIỆU trong JavaScript

- Trong JavaScript, mỗi giá trị dữ liệu sẽ thuộc một nhóm kiểu dữ liệu nhất định. - Ví dụ : var a = "Lập Trình Web" ; //giá trị của biến a thuộc kiểu dữ liệu string var b = 1993 ; //giá trị của biến b thuộc kiểu dữ liệu number var c = true; //giá trị của biến c thuộc ...

Tạ Quốc Bảo viết 10:56 ngày 18/08/2018

(LIMIT) Giới hạn số lượng kết quả trả về trong MySQL

Thông thường khi truy xuất dữ liệu, MySQL sẽ trả về một bảng tất cả các kết quả thỏa điều kiện. Tuy nhiên, sẽ có lúc bạn không muốn lấy hết tất cả, bạn chỉ muốn lấy một số lượng nào đó (Ví dụ như muốn lấy 5 kết quả). Khi đó, từ khóa LIMIT sẽ giúp bạn giải quyết vấn đề này. Cú pháp giới ...

Trịnh Tiến Mạnh viết 10:55 ngày 18/08/2018
0