Je cherche à afficher un classement selon le score d'utilisateurs sur l'un de mes sites, or je n'y arrive pas ; et honnêtement, je ne trouve pas de piste de recherche...
Va falloir penser à te pauser les bonnes question:
GuiLlaume27 a écrit:
Pour obtenir la première valeur c'est bon, j'ai :
SELECT x
FROM y
ORDER BY z DESC
Non avec cette requête tu récupères toujours toutes les valeurs de ta table et la première valeur est bien celle que tu veux.
Tu devrais te demander comment limiter le nombre de résultat d'une requête afin de n'avoir qu'une seul ligne par requête.
Pour limiter le nombre de ligne c'est facile c'est "LIMIT" qui détermine le nombre de lignes renvoyées par ta requête.
Donc pour n'avoir qu'un résultat c'est:
SELECT x
FROM y
ORDER BY z DESC
LIMIT 1
Ensuite deuxième question à pauser, c'est comment faire pour ne récupérer qu'un résultat mais pas en partant du début (pour la deuxième valeur). Alors la syntaxe diffère (fer!) en fonction de si tu es sur MySQL ou sur une autre bdd.
regarde ce cours pour avoir la suite de l'explication
Pardon pour mon noobisme, j'ai beaucoup appris grâce à vous deux et vos axes de recherche, merci beaucoup !
Solution :
SELECT x
FROM y
ORDER BY score
DESC LIMIT 1, 2
Pour afficher le top 2.
Récupérer la N-ème valeur d'une BDD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.