Voici une question délicate.Regroupement MySQL avec un champ séparé par des virgules
Je contiennent des données comme suit:
User ID Name Skill Sets 1 Jim Install, Configure 2 Jack Install 3 John Configure, Setup, Blah 4 Bill Setup, Install
Ce n'est pas ma conception, et ce n'est pas une option pour changer la façon dont les données sont formatées. Le problème est que je dois regrouper par les ensembles de compétences uniques. De toute évidence, un groupe de droite me donne maintenant:
Skill Set Count Install, Configure 1 Install 1 Configure, Setup, Blah 1 Setup, Install 1
souhaitée est sortie:
Skill Set Count Install 3 Configure 2 Setup 2 Blah 1
Des idées? Je pourrais théoriquement faire une vue qui sépare les ensembles de compétences dans une forme normalisée (comme il se doit). Mais je ne suis pas positif sur la syntaxe pour cela non plus.
L'ensemble des compétences possibles est-il bien défini, ou devez-vous passer par «tout ce qui apparaît n'importe où dans un champ d'ensemble de compétences»? – balpha
Les compétences sont bien définies dans un tableau séparé. Ils ont simplement choisi de concaténer la chaîne au lieu d'utiliser une table relationnelle appropriée. Les données sont de la merde, bien sûr, parce qu'il y avait des fautes de frappe dans certains noms de compétences qui ont été changés. Je peux accepter d'avoir "Installer" et "Instla" en tant que groupes séparés bien que pour l'instant. –