SQL Pourcentage d'une valeur dans une colonne

Fermé
Kazkami - Modifié par Kazkami le 15/11/2013 à 16:24
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 - 16 nov. 2013 à 05:25
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

dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
Modifié par dmganges le 16/11/2013 à 06:13
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