Sélectionnez les N premières lignes dans MySQL
Parfois, vous devez sélectionner les N premières lignes de la base de données MySQL en fonction des exigences du projet.
La valeur de n
varie selon les besoins ; il peut s’agir du TOP 1 rang ou du TOP 30 rangs. Nous allons apprendre à sélectionner les N premières lignes à l’aide de la clause LIMIT
dans la base de données MySQL.
Vous pouvez bénéficier de ces requêtes en les utilisant dans pagination, en trouvant des achats ou des transactions récents. Il est également important de noter que chaque base de données a une syntaxe différente pour exécuter cette fonctionnalité.
SQL Server utilise SELECT TOP
, MySQL utilise LIMIT
, et Oracle utilise ROWNUM
et FETCH FIRST n ROWS ONLY
.
Sélectionnez les N premières lignes dans MySQL à l’aide de la clause LIMIT
L’utilisation de la requête Top N signifie que vous souhaitez limiter les résultats à un certain nombre de lignes. Ceux-ci sont utilisés pour obtenir les lignes les meilleures ou les plus récentes à partir d’un ensemble de résultats.
Pour ce didacticiel, nous utilisons une table nommée customer
qui contient customer_id
, customer_firstname
, customer_lastname
et customer_age
. Nous avons rempli cette table customer
avec des données qui se présentent comme suit pour le moment.
Nous utiliserons la table customer
pour pratiquer le LIMIT
dans MySQL. Nous souhaitons sélectionner les 3 enregistrements TOP de la table customer
.
Exemple de code :
SELECT * FROM customer LIMIT 3;
Production :
Nous voulons obtenir les trois clients les plus jeunes et les analyser à des fins de prévision. Vous pouvez voir l’exemple de code suivant.
Exemple de code :
SELECT * FROM customer
ORDER BY customer_age ASC
LIMIT 3;
Dans un premier temps, les données du tableau seront ordonnées par rapport au customer_age
. Le plus jeune client
sera en haut, et le plus âgé sera en bas.
Sélectionnez ensuite les 3 premières lignes du jeu de résultats des données ordonnées. Voir la capture d’écran suivante.
Production :
Que faire si vous souhaitez sélectionner les 4 premières lignes à partir du décalage 3
? Vous pouvez le faire en utilisant la syntaxe suivante.
SELECT * FROM you_table_name
ORDER BY column_name ASC
LIMIT offset,row_count;
Rappelez-vous toujours que le décalage de la première ligne de la clause LIMIT
commence à partir de 0
. Voici l’exemple de code pour ce scénario.
Exemple de code :
SELECT * FROM customer
ORDER BY customer_age ASC
LIMIT 3,4;
Production :
Alternativement, nous pouvons également utiliser la clause LIMIT
avec le nombre de lignes et le décalage de la manière suivante.
# You can also write the above query in this way
SELECT * FROM person.customer
ORDER BY customer_age ASC
LIMIT 1 OFFSET 4;
Production :
Vous pouvez également ordonner votre table par ordre décroissant en remplaçant le ASC
par DESC
dans la requête.
Conclusion
Nous avons conclu que nous pouvons limiter le nombre de lignes d’un jeu de résultats en fonction des exigences du projet.
Nous pouvons sélectionner le nombre n supérieur de lignes ou le nombre n supérieur de lignes qui commencent à partir de m. Nous avons également appris que la clause LIMIT
pouvait être utilisée avec/sans ORDER BY
.
Article connexe - MySQL Database
- Trouver une valeur dans un ensemble dans la base de données MySQL
- Solutions au Mysql_connect obsolète en PHP
- Connecter une base de données MySQL distante à l'aide de la ligne de commande
- Optimiser les tables et les bases de données dans MySQL
- Rechercher des occurrences de chaîne dans la base de données MySQL