|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2012 Messages : 15 ![]() |
Bonjour à tous,
je viens chercher de l'aide sur une requête que je souhaite mettre en place : j'ai une table ou j'ai 3 colonnes, id, idjeu, nom et score dans le champ nom il y a des doublons, par exemple j'ai ID IDJEU NOM SCORE 12 2 toto 10 15 2 tata 15 25 3 toto 1 84 3 tata 15 101 4 toto 10 je souhaite par une requête faire par exemple une recherche sur "toto tata" que la requête trouve les toto et tata puis si il y a des doublons dans le même idjeu, additionner les scores puis classer par score,pour mon exemple le resultat serait : SCORE 35=>idjeu 2 16=>idjeu 3 10=>idjeu 4 j'ai pensé par un array mais je n'y arrive pas. j espére que mes explications ont été claire et que vous pourriez me guider. Merci |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() |
Heeu... Il n'y aurait pas 4 colonnes dans ta table plutot? Ton score additionné pour le idjeu=2 serait pas de 25?
C'est pas tres beau ce que je vais te donner mais je pense que ça pourrait fonctionner. Ok il faut additionner les scores, mais faut il les insérer en base? ou simplement stocker le résultat dans une variable que tu vas réutiliser? Parce que si jamais tu inseres en base, que faisons nous du champ 'nom'? on choisit un des deux noms au hasard? Je crois que ton problème n'est pas très clair. |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2012 Messages : 15 ![]() |
Oui tu as raison pour idjeu 2 c est 25
en fait c est pour afficher et non effectuer un enregistrement donc il faut en fait afficher le nom du jeu dans l'ordre du score et ensuite je récupère l'id pour effectuer un lien. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() |
Simplement pour afficher les occurences dans l'ordre du score utilise simplement un 'ORDER BY score' à la fin de ta requête d'affichage. Ensuite tu veux récupérer tes deux id si le score est égal si j'ai bien compris? Mais qu'est ce que tu veux en faire ensuite?
Si je suis ton raisonnement, tu veux afficher tes occurences dans l'ordre du score (croissant ou décroissant là n'est pas la question), et ensuite additioner les deux scores si l'IDJEU est le même pour deux occurences? Mais je réitère ma question du post précédent, si tu additiones les deux scores pour les IDJEU égaux, qu'est ce que tu vas faire du résultat de cette addition? |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2012 Messages : 15 ![]() |
Merci de ton intervention, je me suis peut être mal exprimé, je vais décrire plus précisément ce que je cherche à faire :
J'ai une table avec comme entrées par exemple : ID IDJEU NOM SCORE 12 2 toto 10 15 2 tata 15 25 3 toto 1 84 3 tata 15 101 4 toto 10 Dans un formulaire je souhaite faire une recherche de type : "toto tata" dans ma requête je vais faire un LIKE 'toto%' and LIKE 'tata%' si je fais un echo il va me sortir la liste ci-dessous telle quel. Avec le résultat de ma requête que je ne souhaite pas afficher de suite je veux vérifier si j'ai des doublons ici j'ai idjeu 2 et 3 si c'est le cas ajouter le score de idjeu 2 toto et tata puis du idjeu 3 toto tata puis d'afficher ce résultat final par ordre décroissant par score soit ici SCORE 25 =>idjeu 2 16 =>idjeu 3 10 =>idjeu 4 Dans ma premiére requête je n'ai pas besoin de classer c'est une fois que j'ai réuni les doublons et additionné leur score ou la je fais un classement. J'avais trouvé il y a longtemps un sujet presque identique mais utilisé sur un moteur de recherche interne par mot indexé. Merci de votre aide |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 1 ![]() |
il faut en fait afficher le nom du jeu dans l'ordre du score et ensuite je récupère l'id pour effectuer un lien.
|
|
|
00
|
|
|
#7 |
![]() ![]() Développeur Web Inscription : février 2008 Messages : 3 311 ![]() |
Code sql :
SELECT idjeu, sum(score) FROM TABLE GROUP BY idjeu
__________________
la vie n'est pas cirrhose des foies ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com