Résumé :dans ce tutoriel, vous apprendrez à utiliser SQLite LIMIT
clause pour limiter le nombre de lignes renvoyées par une requête.
Introduction à SQLite LIMIT
clause
La LIMIT
la clause est une partie facultative du SELECT
déclaration. Vous utilisez la LIMIT
clause pour limiter le nombre de lignes renvoyées par la requête.
Par exemple, un SELECT
L'instruction peut renvoyer un million de lignes. Cependant, si vous n'avez besoin que des 10 premières lignes du jeu de résultats, vous pouvez ajouter le LIMIT
clause au SELECT
instruction pour récupérer 10 lignes.
Ce qui suit illustre la syntaxe du LIMIT
clause.
SELECT
column_list
FROM
table
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
Le row_count
est un entier positif qui spécifie le nombre de lignes renvoyées.
Par exemple, pour obtenir les 10 premières lignes des tracks
table, vous utilisez l'instruction suivante :
SELECT
trackId,
name
FROM
tracks
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Si vous voulez obtenir les 10 premières lignes à partir de la 10 ligne du jeu de résultats, vous utilisez OFFSET
mot-clé comme suit :
SELECT
column_list
FROM
table
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
Ou vous pouvez utiliser la syntaxe abrégée suivante du LIMIT OFFSET
clause :
SELECT
column_list
FROM
table
LIMIT offset, row_count;
Code language: SQL (Structured Query Language) (sql)
Par exemple, pour obtenir 10 lignes à partir de la ligne 11 dans les tracks
table, vous utilisez l'instruction suivante :
SELECT
trackId,
name
FROM
tracks
LIMIT 10 OFFSET 10;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Vous trouvez souvent les utilisations de OFFSET
dans les applications Web pour la pagination des ensembles de résultats.
SQLite LIMIT
et ORDER BY
clause
Vous devez toujours utiliser le LIMIT
clause avec le ORDER BY
clause. Parce que vous voulez obtenir un certain nombre de lignes dans un ordre spécifié, et non dans un ordre non spécifié.
Le ORDER BY
la clause apparaît avant le LIMIT
clause dans le SELECT
déclaration. SQLite trie le jeu de résultats avant d'obtenir le nombre de lignes spécifié dans le LIMIT
clause.
SELECT
column_list
FROM
table
ORDER BY column_1
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
Par exemple, pour obtenir les 10 plus grandes pistes par taille, vous utilisez la requête suivante :
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes DESC
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Pour obtenir les 5 pistes les plus courtes, vous triez les pistes par la longueur spécifiée par colonne de millisecondes en utilisant ORDER BY
clause et obtenez les 5 premières lignes en utilisant LIMIT
clause.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds ASC
LIMIT 5;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Obtenir les n valeurs les plus élevées et les plus basses
Vous pouvez utiliser le ORDER BY
et LIMIT
clauses pour obtenir les n lignes de valeur la plus élevée ou la plus faible. Par exemple, vous voudrez peut-être connaître la deuxième piste la plus longue, la troisième piste la plus petite, etc.
Pour ce faire, suivez les étapes suivantes :
- Tout d'abord, utilisez
ORDER BY
pour trier le jeu de résultats par ordre croissant si vous souhaitez obtenir la n valeur la plus basse, ou par ordre décroissant si vous souhaitez obtenir la n valeur la plus élevée. - Deuxièmement, utilisez le
LIMIT OFFSET
clause pour obtenir la n ligne la plus haute ou la n ligne la plus basse.
L'instruction suivante renvoie la deuxième piste la plus longue dans les tracks
tableau.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds DESC
LIMIT 1 OFFSET 1;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
L'instruction suivante obtient la troisième plus petite piste sur les tracks
tableau.
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes
LIMIT 1 OFFSET 2;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Dans ce tutoriel, vous avez appris à utiliser SQLite LIMIT
clause pour limiter le nombre de lignes renvoyées par la requête.