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. Leoffset
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 clauseLIMIT
avec 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 clause
LIMIT
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 clause
LIMIT
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 LIMIT
pour contraindre le nombre de lignes renvoyées par l’instruction SELECT
.
- ce tutoriel a Été utile?
- Ouinon