PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 07/06/2012 12:09:27

damalaan
Membre

calcul de pourcentage sur une colonne

Bonjour,

J'ai une table qui peut ressembler à ça :

mois;valeur;
janvier;null;
janvier;2;
janvier;3;
février;2;
février;1;
février;null;
février;null;
février;1;

je voudrais avoir par mois le % de renseigné soit :

janvier;66;
février;50;

mais je n'arrive pas à faire ma requête; j'imagine qu'il faut passer par des requêtes imbriquées.....

merci d'avance

Hors ligne

#2 07/06/2012 13:14:06

rjuju
Administrateur

Re : calcul de pourcentage sur une colonne

Bonjour,
vous pouvez faire une requête du genre :

SELECT mois,round(nb::numeric/count(*)*100,2)
FROM table
JOIN (
	SELECT mois,count(*) as nb
	FROM table
	WHERE valeur is not null
	GROUP BY mois
) sql  using (mois )
GROUP BY mois,nb

Hors ligne

#3 07/06/2012 17:29:41

Marc Cousin
Membre

Re : calcul de pourcentage sur une colonne

Il y a plus simple, à moins qu'un truc ne m'ait échappé

SELECT mois, count(valeur)*100/count(*) from "table" group by mois;

Marc.

Hors ligne

#4 07/06/2012 17:38:21

rjuju
Administrateur

Re : calcul de pourcentage sur une colonne

Oula oui je me suis vraiment compliqué la vie.
C'est plus simple et surtout beaucoup moins couteux.

Hors ligne

#5 08/06/2012 15:02:19

damalaan
Membre

Re : calcul de pourcentage sur une colonne

Merci bien, comme d'habitude, efficace!
j'ai opté pour la solution n°2

Hors ligne

Pied de page des forums