SQLite
 sql >> Base de données >  >> RDS >> SQLite

Limite SQLite

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 :

  1. 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.
  2. 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.