26 votes

Existe-t-il une alternative à TOP dans MySQL ?

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é ?

32voto

Jonathan Sampson Points 121800

Ordonner et limiter les résultats :

SELECT field1, field2
FROM myTable
ORDER BY field1 ASC
LIMIT 10

8voto

Pascal MARTIN Points 195780

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) .

0voto

Sarfraz Points 168484

Oui, il y a le limite clause.

Exemple :

    SELECT * FROM `your_table` LIMIT 0, 10 

Cela affichera les 10 premiers résultats de la base de données.

0voto

Tech Jerk Points 1728

l'équivalent mysql de top et vous pouvez trouver plus d'informations sur LIMITE en Doc MySql

0voto

nuvio Points 404

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.com

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.

Powered by:

X