Bonjour, j'ai fait un jeu pour un site.
Je sauve différentes infos dans deux tables :
-table utilisateurs ("users")
-table scores ("hall_of_fame")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 id games firstname lastname password email time ----------------------------------------------------------------------------------------------------- 17709 0 titi test *** perso@**.be 2011-05-09 15:17:13
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 id user_id score charname time --------------------------------------------------------------------------- 29 17709 475 cheezy 2011-05-22 16:13:30 74 17709 520 salsa 2011-05-22 21:15:24
Ce que je voudrais faire,
C'est une requête qui sélectionne les meilleurs scores pour un mois spécifique, en les triant par ordre de scores décroissant.
Attention toutefois, les utilisateurs peuvent jouer autant de fois qu'ils le souhaitent, et j'aimerais que les résultats de la requête ne me sortent que le meilleur résultat des utilisateurs.
Donc en gros
-filtrer les meilleurs résultats
-selon un mois
-en évitant les doublons (conserver seulement le meilleur score de l'utilisateur)
J'ai déjà travaillé à construire la requête, mais je ne suis pas sûr qu'elle soit correcte. En tout cas, elle fonctionne, mais me renvoie des doublons pour les utilisateurs.
Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 SELECT users.id, users.games, users.firstname, users.lastname, users.email, users.address, users.city, users.zipcode, users.phone, users.spam, hall_of_fame.score, hall_of_fame.time FROM hall_of_fame INNER JOIN users ON hall_of_fame.user_id=users.id WHERE YEAR(hall_of_fame.time) = '2011' AND MONTH(hall_of_fame.time) = '5' ORDER BY hall_of_fame.score DESC
Partager