Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite LIMIT
mệnh đề giới hạn số hàng được trả về bởi một truy vấn.
Giới thiệu về SQLite LIMIT
mệnh đề
LIMIT
mệnh đề là một phần tùy chọn của SELECT
tuyên bố. Bạn sử dụng LIMIT
mệnh đề giới hạn số hàng được trả về bởi truy vấn.
Ví dụ:một SELECT
câu lệnh có thể trả về một triệu hàng. Tuy nhiên, nếu bạn chỉ cần 10 hàng đầu tiên trong tập hợp kết quả, bạn có thể thêm LIMIT
mệnh đề SELECT
câu lệnh để truy xuất 10 hàng.
Phần sau minh họa cú pháp của LIMIT
mệnh đề.
SELECT
column_list
FROM
table
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
row_count
là một số nguyên dương chỉ định số hàng được trả về.
Ví dụ:để lấy 10 hàng đầu tiên trong tracks
bảng, bạn sử dụng câu lệnh sau:
SELECT
trackId,
name
FROM
tracks
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Nếu bạn muốn lấy 10 hàng đầu tiên bắt đầu từ 10 hàng của tập kết quả, bạn sử dụng OFFSET
từ khóa như sau:
SELECT
column_list
FROM
table
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
Hoặc bạn có thể sử dụng cú pháp viết tắt sau của LIMIT OFFSET
mệnh đề:
SELECT
column_list
FROM
table
LIMIT offset, row_count;
Code language: SQL (Structured Query Language) (sql)
Ví dụ:để có 10 hàng bắt đầu từ hàng 11 trong tracks
bảng, bạn sử dụng câu lệnh sau:
SELECT
trackId,
name
FROM
tracks
LIMIT 10 OFFSET 10;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Bạn thường thấy cách sử dụng OFFSET
trong các ứng dụng web để phân trang các tập hợp kết quả.
SQLite LIMIT
và ORDER BY
mệnh đề
Bạn phải luôn sử dụng LIMIT
mệnh đề với ORDER BY
mệnh đề. Bởi vì bạn muốn lấy một số hàng theo một thứ tự được chỉ định, không phải theo một thứ tự không xác định.
ORDER BY
mệnh đề xuất hiện trước LIMIT
mệnh đề trong SELECT
tuyên bố. SQLite sắp xếp tập hợp kết quả trước khi nhận được số hàng được chỉ định trong LIMIT
mệnh đề.
SELECT
column_list
FROM
table
ORDER BY column_1
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
Ví dụ:để có được 10 bản nhạc lớn nhất hàng đầu theo kích thước, bạn sử dụng truy vấn sau:
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes DESC
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Để có 5 bản nhạc ngắn nhất, bạn sắp xếp các bản nhạc theo độ dài được chỉ định bởi cột mili giây bằng cách sử dụng ORDER BY
và lấy 5 hàng đầu tiên bằng cách sử dụng LIMIT
mệnh đề.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds ASC
LIMIT 5;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Nhận n giá trị cao nhất và thấp nhất
Bạn có thể sử dụng ORDER BY
và LIMIT
mệnh đề để lấy n hàng giá trị cao nhất hoặc thấp nhất. Ví dụ:bạn có thể muốn biết bản nhạc dài thứ hai, bản nhạc nhỏ thứ ba, v.v.
Để làm điều này, bạn sử dụng các bước sau:
- Đầu tiên, sử dụng
ORDER BY
sắp xếp tập hợp kết quả theo thứ tự tăng dần trong trường hợp bạn muốn nhận n giá trị thấp nhất hoặc thứ tự giảm dần nếu bạn muốn nhận giá trị cao nhất. - Thứ hai, sử dụng
LIMIT OFFSET
mệnh đề lấy n hàng cao nhất hoặc n hàng thấp nhất.
Câu lệnh sau trả về bản nhạc dài thứ hai trong tracks
bảng.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds DESC
LIMIT 1 OFFSET 1;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Câu lệnh sau nhận được rãnh nhỏ thứ ba trên tracks
bảng.
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes
LIMIT 1 OFFSET 2;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Trong hướng dẫn này, bạn đã học cách sử dụng SQLite LIMIT
mệnh đề giới hạn số hàng được trả về bởi truy vấn.