Bonjour,
J'aurais besoin d'aide sur le problème suivant :
Admettons que j'ai une table "userinfo" dans une base de données MySQL qui comporte les informations suivantes :
id ------ username ------ groupname
1 ------ user1 ------ groupe1
2 ------ user2 ------ groupe2
3 ------ user3 ------ groupe2
4 ------ user4 ------ groupe3
5 ------ user5 ------ groupe3
6 ------ user6 ------ groupe3
Il faudrait que je parvienne en une seule requête SQL à avoir :
1) Le nom de tout les groupes (ça c'est bon c'est "SELECT DISTINCT groupname")
2) Un COUNT(*) de tout les utilisateurs pour chaque groupe
Je dois obtenir ceci :
groupe1 : 1 utilisateur
groupe2 : 2 utilisateurs
groupe3 : 3 utilisateurs
3) Calculer le pourcentage de répartition des users dans les groupes
J'ai vu qu'il y avait la syntaxe SUM(CASE WHEN X = Y THEN 1 ELSE 0) mais il y a un problème en plus. En temps réel, le point n°1 doit être capable de me dire combien de groupes sont répertoriés car des groupes sont ajoutés dans la base de données de temps en temps. En d'autres termes, je ne devrais pas avoir à renseigner moi-même le groupname, il doit être détecté tout seul.
Si vous avez une idée ..
Partager