Resumo : neste tutorial, você aprenderá como usar LIMIT
a cláusula SQLite para restringir o número de linhas retornadas por uma consulta.
LIMIT
Introdução à cláusula SQLite
A LIMIT
cláusula é uma parte opcional da SELECT
declaração. Você usa a LIMIT
cláusula para restringir o número de linhas retornadas pela consulta.
Por exemplo, uma SELECT
instrução pode retornar um milhão de linhas. No entanto, se você precisar apenas das primeiras 10 linhas do conjunto de resultados, poderá adicionar a LIMIT
cláusula à SELECT
instrução para recuperar 10 linhas.
O seguinte ilustra a sintaxe da LIMIT
cláusula.
SELECT
column_list
FROM
table
LIMIT row_count;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O row_count
é um número inteiro positivo que especifica o número de linhas retornadas.
Por exemplo, para obter as primeiras 10 linhas da tracks
tabela, você usa a seguinte instrução:
SELECT
trackId,
name
FROM
tracks
LIMIT 10;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Se você deseja obter as primeiras 10 linhas começando na 10ª linha do conjunto de resultados, use OFFSET
palavras-chave como a seguir:
SELECT
column_list
FROM
table
LIMIT row_count OFFSET offset;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Ou você pode usar a seguinte sintaxe abreviada da LIMIT OFFSET
cláusula:
SELECT
column_list
FROM
table
LIMIT offset, row_count;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por exemplo, para obter 10 linhas começando na 11ª linha da tracks
tabela, você usa a seguinte instrução:
SELECT
trackId,
name
FROM
tracks
LIMIT 10 OFFSET 10;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Freqüentemente, você encontra usos OFFSET
em aplicativos da web para paginar conjuntos de resultados.
SQLite LIMIT
e ORDER BY
cláusula
Você deve sempre usar a LIMIT
cláusula com a ORDER BY
cláusula. Porque você deseja obter um número de linhas em uma ordem especificada, não em uma ordem não especificada.
A ORDER BY
cláusula aparece antes da LIMIT
cláusula na SELECT
declaração. SQLite classifica o conjunto de resultados antes de obter o número de linhas especificado na LIMIT
cláusula.
SELECT
column_list
FROM
table
ORDER BY column_1
LIMIT row_count;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por exemplo, para obter as 10 maiores faixas por tamanho, use a seguinte consulta:
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes DESC
LIMIT 10;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para obter as 5 faixas mais curtas, você classifica as faixas pelo comprimento especificado na coluna de milissegundos usando ORDER BY
a cláusula e obtém as 5 primeiras linhas usando LIMIT
a cláusula.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds ASC
LIMIT 5;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Obtendo o enésimo valor mais alto e o mais baixo
Você pode usar as cláusulas ORDER BY
e LIMIT
para obter as enésimas linhas de valor mais alto ou mais baixo. Por exemplo, você pode querer saber qual é a segunda faixa mais longa, a terceira faixa menor, etc.
Para fazer isso, você usa as seguintes etapas:
- Primeiro, use
ORDER BY
para classificar o conjunto de resultados em ordem crescente, caso queira obter o enésimo valor mais baixo, ou em ordem decrescente, se desejar obter o enésimo valor mais alto. - Em segundo lugar, use a
LIMIT OFFSET
cláusula para obter a enésima linha mais alta ou a enésima linha mais baixa .
A instrução a seguir retorna a segunda faixa mais longa da tracks
tabela.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds DESC
LIMIT 1 OFFSET 1;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A instrução a seguir obtém a terceira menor faixa da tracks
tabela.
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes
LIMIT 1 OFFSET 2;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu como usar LIMIT
a cláusula SQLite para restringir o número de linhas retornadas pela consulta.