Bonsoir,
le titre n'est pas très clair car je ne vois pas trop comment le formuler, le plus simple est de vous donner mon code :
me renvoie le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT Correcteur, COUNT(Cle) FROM MaTable WHERE Correcteur != '' GROUP BY Correcteur
je souhaiterais savoir s'il est possible de séparer le champ Hizo, Stryge afin qu'il compte comme 2 résultats à savoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Hizo => 5134 Hizo, Stryge => 2 r1 => 115
et que ça s’additionne au reste du GROUP BY, donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Hizo => 2 Stryge => 2
À noter, que je ne sais pas le nombre de pseudo qui peuvent être assemblés ni les quels seront présents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Hizo =>5136 (5134 + 2) Stryge => 2 r1 => 115
Ça me parait bien compliqué, je pense qu'il serait plus simple de travailler les retours en php... mais ça m’intéresserait de voir ce qu'il est possible de faire
Je signale que mes connaissances en sql sont limitées.
Utilisation de mysql v5.7.24 sous Ubuntu Server 18.04.
Merci et bonne nuit
EDIT : https://www.developpez.net/forums/d6...plit-d-champs/ semble indiquer que ce n'est pas possible...
EDIT 2 : avec ce code php, ça fonctionne, du coup, y a -t-il moyen de faire l’équivalent en sql ?
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 $TableauCorrecteurs = []; foreach($ProgressionParCorrecteur as $Correcteurs) { $Split = explode(', ', $Correcteurs["Col1"]); if(count($Split) > 1) { foreach($Split as $Correcteur) { if(array_key_exists($Correcteur, $TableauCorrecteurs)) $TableauCorrecteurs[$Correcteur] = $TableauCorrecteurs[$Correcteur] + $Correcteurs["Col2"]; else $TableauCorrecteurs[$Correcteur] = $Correcteurs["Col2"]; } } else { $TableauCorrecteurs[$Correcteurs["Col1"]] = $Correcteurs["Col2"]; } }
Partager