Impossible de faire fonctionner mon GROUP BY... - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Impossible de faire fonctionner mon GROUP BY... (/showthread.php?tid=7823) |
Impossible de faire fonctionner mon GROUP BY... - MeTaLLiQuE - 14-06-2017 Hello, Je ne sais pas si c'est à cause de la chaleur écrasante ou quoi... Mais... Je n'arrive pas à faire fonctionner mon GROUP BY avec ma jointure. Je m'explique, je dois lister tous les espions du joueur en regroupant les espions qui sont envoyés sur un même joueur. Par exemple, si j'ai 2 espions chez X et 1 chez Y, il faut que les deux espions chez X soient groupés afin de n'afficher qu'une seule ligne. J'utilise donc le code suivant : Code : SELECT e.id_action,COUNT(e.*) AS nb,u.pseudo FROM espionnage AS e Le code tel quel ne fonctionne pas, mais si je supprime le "e.id_action" le code fonctionne... (pareille si je mets autre chose, e.id ou autre, ça ne fonctionne pas) Où aurais-je fait une erreur ? u_u" Merci d'avance, RE: Impossible de faire fonctionner mon GROUP BY... - Xenos - 14-06-2017 e.id_cible ou e.id_action comme colonne 1? Car sélectionner des colonnes variables non issues des groupings sans utiliser de fonction de grouping dessus (ie: sélectionner les colonnes B et MAX© quand tu groupes sur A) n'a pas beaucoup de sens car B aura une valeur quelconque (et MySQL 5.7 strict l'interdit même je crois) Code : SELECT RE: Impossible de faire fonctionner mon GROUP BY... - MeTaLLiQuE - 14-06-2017 Ouais pas pensé --' J'ai repensé mon système est ça fonctionne parfaitement maintenant J'ai enlevé id_action et j'utilise l'id de l'user à la place Code : SELECT e.id_cible,COUNT(e.id_espion) AS nb,u.pseudo FROM espionnage AS e Merci de ta réponse RE: Impossible de faire fonctionner mon GROUP BY... - Ter Rowan - 14-06-2017 et surtout qu'est ce que tu appelles grouper ? tu veux connaitre le nombre d'espions par joueur : joueur 1 / 3 joueur 2 / 1 dans ce cas un truc du genre : Code : SELECT u.pseudo , COUNT(e.*) AS nb FROM espionnage AS e ou avoir tous les espions sur une ligne ? joueur 1 / sp1 / sp2 / sp3 joueur 2 / sp 4 mais c est clair qu'il faudrait connaitre l'objectif et connaitre les champs des deux tables comme demande xenos là j ai l impression que tu veux faire un truc plus compliqué que le simple comptage edit : ah ben répondu RE: Impossible de faire fonctionner mon GROUP BY... - MeTaLLiQuE - 14-06-2017 En faite, ce que je voulais c'est : Dresser une liste des joueurs où il y a la présence d'au moins un de mes espions et puis la colonne d'à côté, spécifier le nombre d'espions présents sur ledit domaine. Mais l'erreur comme l'a dit Xenos précédemment, c'est que je sélectionnais en fait, une colonne qui ne rentrait pas dans le contexte du GROUP PJ : Capture du résultat final |