Plus tôt, j'ai demandé this question, qui a essentiellement demandé comment lister 10 gagnants dans une table avec de nombreux gagnants, selon leurs points.MySQL: SELECT un gagnant, retournant leur rang
Cela a été répondu.
Maintenant, je cherche à trouver un gagnant X dans la table, et savoir ce que position il est, quand la table est classée par points.
Par exemple, si tel est le tableau:
Winners:
NAME:____|__POINTS:
Winner1 | 1241
Winner2 | 1199
Sally | 1000
Winner4 | 900
Winner5 | 889
Winner6 | 700
Winner7 | 667
Jacob | 623
Winner9 | 622
Winner10 | 605
Winner11 | 600
Winner12 | 586
Thomas | 455
Pamela | 434
Winner15 | 411
Winner16 | 410
Ce sont les entrées et les sorties possibles pour ce que je veux faire:
Query: "Sally", "Winner12", "Pamela", "Jacob"
Output: 3 12 14 623
Comment puis-je faire cela? Est-ce possible, en utilisant seulement une déclaration MySQL? Ou ai-je besoin de PHP aussi?
C'est le genre de chose que je veux:
WHEREIS FROM Winners WHERE Name='Sally' LIMIT 1
Idées? Éditer - NOTE: Vous n'avez pas à faire face à la situation où deux Gagnants ont les mêmes Points (supposons pour simplifier que cela n'arrive pas).
Je pense que vous voulez dire 'Où Points> ...' –
(1) En fait, il n'y aura jamais deux gagnants avec la même position, car ils sont d'abord commandés par des points, puis Démarrer et Start est UNIQUE. Ma requête select 10 ressemble à ceci, par exemple: 'SELECT * FROM Winners ORDER BY Points DESC, Start ASC' – Cam
L'a étudié un peu plus, et l'ai essayé. Cela fonctionne très bien; Merci! – Cam