Résultats SUM et GROUP BY incorrect
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous !
Besoin d'aide en PHP, la fonction SUM et GROUP BY ne me donne pas un bon résultat pouvez-vous m'aider svp ?
Dans ma table, j'ai 2 enregistrements identiques :
Le résultat est :
Olivier : 3
Manguier : 1
Alors que je souhaite avoir :
Olivier : 2
Manguier : 1
Pouvez-vous m'aider svp ?
Besoin d'aide en PHP, la fonction SUM et GROUP BY ne me donne pas un bon résultat pouvez-vous m'aider svp ?
$ref_je = $pdo->query("SELECT SUM(Winner) AS Winn, SUM(Participation) AS Part, Reponse FROM ma_table WHERE Pseudo='".$Pseudo."' GROUP BY Reponse"); while($data_je = $ref_je->fetch(PDO::FETCH_ASSOC)){ $Jeu_W = number_format($data_je["Winn"], 0, ',', ' '); $Jeu_P = number_format($data_je["Part"], 0, ',', ' '); }
Dans ma table, j'ai 2 enregistrements identiques :
Pseudo | Winner | Participation | Reponse |
------------------------------------------------
Olivier | | 1 | Left |
Olivier | | 1 | Left |
Olivier | | 1 | Right |
Manguier | | 1 | Right |
Le résultat est :
Olivier : 3
Manguier : 1
Alors que je souhaite avoir :
Olivier : 2
Manguier : 1
Pouvez-vous m'aider svp ?
A voir également:
- Résultats SUM et GROUP BY incorrect
- Resultats foot - Télécharger - Vie quotidienne
- Lexer resultats - Télécharger - Sport
- Message bounced by administrator - Forum Mail
- To be filled by o.e.m - Forum Windows
- La shoes by avis - Forum Consommation & Internet
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Je suggère:
Si tu veux vérifier que cela te donne le résultat attendu, tu peux tester ceci en direct sur ta base:
SELECT count (distinct Reponse) as Part FROM ma_table WHERE Pseudo='".$Pseudo."'
Si tu veux vérifier que cela te donne le résultat attendu, tu peux tester ceci en direct sur ta base:
SELECT Pseudo, count (distinct Reponse) as Part FROM ma_table GROUP BY Pseudo
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, si tu veux être aidé, je te suggère:
1) d'expliquer ce que tu cherches à obtenir, pourquoi tu souhaites 2 pour olivier.
2) de nous montrer l'ensemble de ton code, pas juste un petit bout insignifiant.
1) d'expliquer ce que tu cherches à obtenir, pourquoi tu souhaites 2 pour olivier.
2) de nous montrer l'ensemble de ton code, pas juste un petit bout insignifiant.
1) Je dois cumuler le nombre de fois qu'un membre a participé en tenant compte des réponses "uniques".
Si Olivier (comme dans le tableau à participé 3 fois avec la même réponse, c'est compté 1, voilà pourquoi SUM() GROUP BY Reponse.
2) Voici tout mon code :
Si Olivier (comme dans le tableau à participé 3 fois avec la même réponse, c'est compté 1, voilà pourquoi SUM() GROUP BY Reponse.
2) Voici tout mon code :
$Total= NULL; $Stats = $pdo->query("SELECT SUM(Points) AS Total FROM ".$TB_USER_POINTS." WHERE Pseudo = '".$Pseudo."'"); while($datas = $Stats->fetch(PDO::FETCH_ASSOC)){ $Total = number_format($datas["Total"], 0, ',', ' '); } if($Total == NULL) {echo "0";} else {echo $Total;}
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
quelques réflexions:
1° le code que tu montres en #2 n'a rien à voir avec celui que tu comptes dans ta question: que se passe-t-il?
2° le code que tu montres en #2 ne va pas afficher le résultat que tu montres dans ta question: essaies-tu de nous embrouiller?
3° contrairement à ce que tu écris en #2, Olivier n'a pas participé trois fois avec la même réponse: as-tu bien regardé ton exemple?
je te suggère de commencer par des exercices plus simples en SQL, et de faire du PHP ensuite.
1° le code que tu montres en #2 n'a rien à voir avec celui que tu comptes dans ta question: que se passe-t-il?
2° le code que tu montres en #2 ne va pas afficher le résultat que tu montres dans ta question: essaies-tu de nous embrouiller?
3° contrairement à ce que tu écris en #2, Olivier n'a pas participé trois fois avec la même réponse: as-tu bien regardé ton exemple?
je te suggère de commencer par des exercices plus simples en SQL, et de faire du PHP ensuite.
Veuille me pardonner, je me suis trompé de code:
$ref_je = $pdo->query("SELECT SUM(Winner) AS Winn, SUM(Participation) AS Part, Reponse FROM ma_table WHERE Pseudo='".$Pseudo."' GROUP BY Reponse"); while($data_je = $ref_je->fetch(PDO::FETCH_ASSOC)){ $Jeu_P = number_format($data_je["Part"], 0, ',', ' '); } if($Jeu_P== NULL) {echo "0";} else {echo $Jeu_P;}
Merci beaucoup yg_be, j'étais tellement épuisé que je ne faisais que des conneries...