Je veux connaître l'alternative du mot clé TOP comme dans MySQL. J'ai lu sur TOP dans SQL Server.
Existe-t-il une alternative à cela dans MySQL, ou une autre méthode dans MySQL permettant d'obtenir la même fonctionnalité ?
Je veux connaître l'alternative du mot clé TOP comme dans MySQL. J'ai lu sur TOP dans SQL Server.
Existe-t-il une alternative à cela dans MySQL, ou une autre méthode dans MySQL permettant d'obtenir la même fonctionnalité ?
Vous pouvez utiliser le LIMIT
mot-clé (Voir le la documentation de la SELECT
instruction ) -- il va à la fin de la requête :
select *
from your_table
where ...
limit 10
pour obtenir les 10 premières lignes
Ou même :
select *
from your_table
where ...
limit 5, 10
Pour obtenir 10 lignes, commencez par la 6ème. (c'est-à-dire obtenir les lignes 6 à 15) .
l'équivalent mysql de top et vous pouvez trouver plus d'informations sur LIMITE en Doc MySql
Je sais que cette question a reçu une réponse, mais j'aimerais ajouter quelques considérations sur la performance. L'opérateur TOP dans MySQL n'est pas traduit avec LIMIT.
Supposons que vous vouliez obtenir les 10 dernières personnes insérées dans la base de données :
SELECT name, id
FROM persons
ORDER BY id DESC
LIMIT 10
Cependant, cela peut devenir extrêmement lent lorsque l'on utilise des milliers de lignes.
Une solution beaucoup plus rapide serait de récupérer le nombre actuel X de lignes :
SELECT COUNT(*) FROM persons
et utiliser ce numéro pour rechercher les 10 derniers :
SELECT name, id
FROM persons
LIMIT x-10,10
Ainsi, limit sautera les X-10 premières lignes et retournera les 10 suivantes. Pour moi, c'était 100 fois plus rapide que de trier la colonne, mais ce n'est que mon expérience.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.