Bonjour,
Je cherche à créer une requête en MySQL qui me permette d'avoir les différentes valeurs d'une colonne de DB et, en face, le pourcentage d'occurrences (fréquence) où ces valeurs sont utilisées, le tout trié du plus élevé au moins élevé
Autrement dit, sur une colonne nommée "sexe_appelant", je voudrais un tri selon la fréquence des valeurs de cette colonne et afficher à côté le pourcentage qui y est lié.
Un exemple :
Homme : 65%
Femme : 30%
Transgenre : 5%
Ma requête ici présente fonctionne :
Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select sexe_appelant as "sexe", count(sexe_appelant) as "nombre" from appels group by sexe_appelant order by sexe_appelant;
Elle me donne :
Homme : 3
Femme : 2
Transgenre : 1
Mais je ne vois pas comment l'adapter pour avoir des pourcentages... Il faudrait avoir un count de tous les id (= une ligne au lieu de trois) et faire (("nombre"/ce_count_là)*100)... Mais je ne vois pas comment y arriver. C'est peut-être une sous-requête qu'il faut faire, je ne sais plus comment m'y prendre.
Par ailleurs, je me demande s'il est mieux de faire cette requête complète en MySQL ou s'il vaut mieux la laisser comme telle, et gérer le reste en PHP.
C'est quoi le moins lourd? Quelle solution sera la moins susceptible de dégrader les perfs de l'appli?
Merci d'avance !
Partager