Mệnh đề LIMIT trong MySQL được sử dụng để hạn chế số lượng bản ghi được trả về bởi câu lệnh SELECT.
Cú pháp
Cú pháp cơ bản của mệnh đề LIMIT với câu lệnh SELECT sẽ như sau.
SELECT
column1,column2,...
FROM
table
LIMIT count;
Mệnh đề LIMIT chấp nhận một hoặc hai đối số. Các giá trị của cả hai đối số phải bằng 0 hoặc số nguyên dương.
Truy vấn sau với mệnh đề LIMIT chấp nhận hai đối số:
SELECT
column1,column2,...
FROM
table
LIMIT count1, count2;
Với count1 là vị trí bắt đầu sẽ lấy bản ghi, count2 là số lượng bản ghi sẽ được trả về. Các bạn tham khảo các ví dụ sau để hiểu hơn.
Ví dụ
Giả sử bảng STUDENT có các bản ghi sau:
ID | NO | NAME | BIRTHDAY | SEX | ADDRESS | SCORES |
1 | 100 | kumori | 1991-01-01 | nam | fukuoka | 5000 |
2 | 101 | yamada | 1991-02-01 | nu | nagasaki | 6000 |
3 | 102 | takata | 1995-05-20 | nam | tokyo | 4000 |
4 | 103 | yoshida | 1991-05-30 | nam | osaka | 6000 |
5 | 104 | ishibashi | 1998-06-01 | nu | kumamoto | 7000 |
6 | 105 | toyota | 1997-02-09 | nu | yamaguchi | 8000 |
7 | 106 | tokuda | 1994-02-24 | nam | fukyoka | 9000 |
Ví dụ1: để chọn 3 học sinh đầu tiên từ bảng STUDENT, bạn sử dụng truy vấn sau:
SELECT *
FROM student
LIMIT 3;
Kết quả:
ID | NO | NAME | BIRTHDAY | SEX | ADDRESS | SCORES |
1 | 100 | kumori | 1991-01-01 | nam | fukuoka | 5000 |
2 | 101 | yamada | 1991-02-01 | nu | nagasaki | 6000 |
3 | 102 | takata | 1995-05-20 | nam | tokyo | 4000 |
Ví dụ1: để chọn 5 học sinh từ vị trí thứ 2 trở đi từ bảng STUDENT, bạn sử dụng truy vấn sau:
SELECT *
FROM student
LIMIT 2, 5;
Kết quả:
ID | NO | NAME | BIRTHDAY | SEX | ADDRESS | SCORES |
3 | 102 | takata | 1995-05-20 | nam | tokyo | 4000 |
4 | 103 | yoshida | 1991-05-30 | nam | osaka | 6000 |
5 | 104 | ishibashi | 1998-06-01 | nu | kumamoto | 7000 |
6 | 105 | toyota | 1997-02-09 | nu | yamaguchi | 8000 |
7 | 106 | tokuda | 1994-02-24 | nam | fukyoka | 9000 |
Ngoài ra các bạn có thể kết hợp với các mệnh đề khác như ORDER
BY
để tìm ra giá trị bản ghi phù hợp.
Ví dụ ở bảng trên, ta sẽ lấy 3 học sinh có số No lớn nhất bằng câu lệnh sau.
SELECT *
FROM student
ORDER BY NO DESC
LIMIT 3;
Kết quả:
ID | NO | NAME | BIRTHDAY | SEX | ADDRESS | SCORES |
7 | 106 | tokuda | 1994-02-24 | nam | fukyoka | 9000 |
6 | 105 | toyota | 1997-02-09 | nu | yamaguchi | 8000 |
5 | 104 | ishibashi | 1998-06-01 | nu | kumamoto | 7000 |