SQL Pourcentage d'une valeur dans une colonne

Kazkami -  
dmganges Messages postés 152 Statut Membre -
Bonjour,

Voila j'ai une requête a effectuer et je ne m'en sors pas du tout.

J'ai une colonne "avec_inconnu" qui contient oui/non et je voudrais connaitre le pourcentage de oui et non dans cette dite colonne. J'ai deja google un peu mais rien dans ce gout la n'est apparu.

Je vous remercie d'avance pour les astuces/solutions qu'on pourrait me fournir

Bon weekend à ceux qui liront :)

1 réponse

  1. dmganges Messages postés 152 Statut Membre 19
     
    SQL> select count(*) from essai;
    

    COUNT(*)

    ----------

    17


    SQL> select count(*) from essai where INCONNU = 'OUI';
    

    COUNT(*)

    ----------

    14



    SQL> SELECT COUNT(*)*100/(SELECT count(*) FROM ESSAI) OUI_RESULTAT
    

    2 FROM ESSAI

    3 GROUP BY INCONNU

    4 HAVING INCONNU = 'OUI';

    OUI_RESULTAT

    --------------

    82,3529412


    82,35%
    :)

    Pour avoir les pourcentages de OUI et de NON :

    SELECT 'OUI' O_N,
    
    COUNT(*)*100/(SELECT count(*) FROM ESSAI) PCT
    FROM ESSAI
    GROUP BY INCONNU
    HAVING INCONNU = 'OUI'
    Union
    SELECT 'NON',
    COUNT(*)*100/(SELECT count(*) FROM ESSAI) PCT
    FROM ESSAI
    GROUP BY INCONNU
    HAVING INCONNU = 'NON'


    Ça fait longtemps que je n'ai pas fait de SQL, je ne connais pas les nouveautés... Sur Oracle dans le temps je faisais :

    COLUMN PCT FORMAT 99.99
    

    SELECT 'OUI' O_N,
    COUNT(*)*100/(SELECT count(*) FROM ESSAI) PCT
    FROM ESSAI
    GROUP BY INCONNU
    HAVING INCONNU = 'OUI'
    Union
    SELECT 'NON',
    COUNT(*)*100/(SELECT count(*) FROM ESSAI) PCT
    FROM ESSAI
    GROUP BY INCONNU
    HAVING INCONNU = 'NON'

    Pour avoir :
    SQL>
    
    O_N PCT
    --- ------
    NON 17.65
    OUI 82.35
    SQL>
    0