MySQL LIMIT (Français)

résumé: dans ce tutoriel, vous apprendrez à utiliser la clause MySQLLIMIT pour contraindre le nombre de lignes renvoyées par une requête.

introduction à la clause limite MySQL

la clauseLIMIT est utilisée dans l’instructionSELECT pour contraindre le nombre de lignes à retourner. La clauseLIMIT accepte un ou deux arguments. Les valeurs des deux arguments doivent être des entiers nuls ou positifs.,

l’exemple suivant illustre Le LIMIT clause de syntaxe avec deux arguments:

Code language: SQL (Structured Query Language) (sql)

Dans cette syntaxe:

  • Le offset spécifie le décalage de la première ligne de retour. Le offset de la première ligne est 0, pas 1.
  • Le row_count spécifie le nombre maximal de lignes à retourner.,

L’image suivante illustre la balise LIMIT l’article:

Lorsque vous utilisez la balise LIMIT clause avec un argument, MySQL va utiliser cet argument pour déterminer le nombre maximal de lignes à retourner à partir de la première ligne du résultat.,

par conséquent, ces deux clauses sont équivalentes:

Code language: SQL (Structured Query Language) (sql)

Et

En plus de la syntaxe ci-dessus, MySQL fournit l’alternative suivante: LIMIT clause de compatibilité avec PostgreSQL.

Code language: SQL (Structured Query Language) (sql)

clauses LIMIT et ORDER BY

l’instructionSELECT sans clauseORDER BY renvoie les lignes dans un ordre non spécifié. Cela signifie que les lignes peuvent être dans n’importe quel ordre., Lorsque vous appliquez la clauseLIMIT à cet ensemble de résultats non ordonné, vous ne saurez pas quelles lignes la requête retournera.

par exemple, vous voudrez peut-être obtenir de la cinquième à la dixième ligne, mais de la cinquième à la dixième dans quel ordre? L’ordre des lignes est inconnu sauf si vous spécifiez la clauseORDER BY.

Par conséquent, il est recommandé de toujours utiliser la clauseLIMITavec la clauseORDER BY pour contraindre les lignes de résultat dans un ordre unique.,

Code language: SQL (Structured Query Language) (sql)

L’image suivante illustre l’ordre d’évaluation de la balise LIMIT clause dans le SELECT déclaration:

MySQL LIMITE des exemples

Nous allons utiliser la balise customers table à partir de l’exemple de base de données à des fins de démonstration.,

1) à l’Aide de MySQL LIMITE d’obtenir le plus haut ou le plus bas de lignes

Cette instruction utilise la balise LIMIT clause d’obtenir les cinq premiers clients qui ont le plus de crédit:

Code language: SQL (Structured Query Language) (sql)

Essayer

Dans cet exemple:

  • tout d’Abord, la balise ORDER BY clause trie des clients par les crédits de la haute à la basse.,
  • ensuite, la clauseLIMIT renvoie les 5 premières lignes.

de Même, cet exemple utilise la balise LIMIT clause de trouver 5 les clients qui ont le plus faible des crédits:

Code language: SQL (Structured Query Language) (sql)

Essayer

Dans cet exemple:

  • tout d’Abord, la balise ORDER BY clause trie des clients par les crédits de faible à élevé.
  • ensuite, la clauseLIMIT renvoie les 5 premières lignes.,

comme il y a plus de 5 clients qui ont des crédits zéro, le résultat de la requête ci-dessus peut conduire à un résultat incohérent.,

Pour résoudre ce problème, vous devez ajouter plus de colonne à la clause ORDER BY pour contraindre la ligne dans l’ordre unique:

Code language: SQL (Structured Query Language) (sql)

essayez-le

2) Utilisation de MySQL Limit pour la pagination

lorsque vous affichez des données sur des applications, vous voulez souvent diviser les lignes en pages, où chaque page contient un certain nombre de lignes comme 5, 10 ou 20.

Pour calculer le nombre de pages, vous obtenez le nombre de lignes, divisé par le nombre de lignes par page., Pour récupérer des lignes d’une page spécifique, vous pouvez utiliser la clause LIMIT.

cette requête utilise la fonction COUNT(*) aggregate pour obtenir le total des lignes de la table :

Code language: SQL (Structured Query Language) (sql)
Code language: JavaScript (javascript)

supposons que chaque page comporte 10 lignes, pour afficher 122 clients vous avez 13 pages. La dernière 13ème page contient deux lignes seulement., LIMIT clause d’obtenir les lignes de la page 1 qui contient les 10 premiers clients triée par nom de client:

Code language: SQL (Structured Query Language) (sql)

Essayer

Cette requête utilise la balise LIMIT clause d’obtenir les lignes de la deuxième page qui comprennent la ligne 11 – 20:

Code language: SQL (Structured Query Language) (sql)

Essayer

Dans cet exemple, la clause LIMIT 10, 10 retourne 10 lignes pour la ligne 11 – 20.,

3) à l’Aide de MySQL LIMITE pour obtenir le n-ième plus élevée ou plus faible valeur

Pour obtenir le n-ième plus élevée ou plus faible valeur, vous utilisez la commande suivante: LIMIT l’article:

Code language: SQL (Structured Query Language) (sql)

La clause LIMIT n-1, 1 renvoie 1 ligne de départ à la ligne n.

Par exemple, le code suivant trouve le client qui a le deuxième taux de crédit:

Code language: SQL (Structured Query Language) (sql)

Essayer

double-vérifier le résultat., Cette requête renvoie tous les clients triés par les crédits de la haute à la basse:

Code language: SQL (Structured Query Language) (sql)

Essayer

Comme vous pouvez le voir clairement à partir de la sortie, le résultat était correct comme prévu.

notez que cette technique fonctionne lorsqu’il n’y a pas deux clients qui ont les mêmes limites de crédit. Pour obtenir un résultat plus précis, vous devez utiliser la fonction de fenêtreDENSE_RANK().,

dans ce tutoriel, vous avez appris à utiliser la clause MySQL LIMITpour contraindre le nombre de lignes renvoyées par l’instruction SELECT.

  • ce tutoriel a Été utile?
  • Ouinon

Author: admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *