#1 Mon 07 December 2015 12:45
- Loublande
- Participant occasionnel
- Date d'inscription: 29 Oct 2008
- Messages: 38
tableau de synthèse sur une table
Bonjour,
J'ai la table suivante qui contient plus de 5000 enregistrements :
CREATE TABLE result.prix_m2
(
reference_ character varying(20),
valeur_fon double precision,
n bigint,
surf_total double precision,
prix double precision,
"Section" character varying(4),
"_1_Article" character varying(28),
"Type_local" character varying(80),
annee_mutation character varying(4),
maison numeric,
appartement numeric
)
Je souhaite faire une synthèse de cette table avec les éléments suivant : une colonne "Section", une colonne somme des ventes 2007, une colonne somme des ventes 2008,une colonne somme des ventes 2009, ..... j'ai les infos de prix dans "prix" et les années de vente dans "annee_mutation".
Je n'arrive pas à obtenir ce que je veux. Quelqu'un pourrait-il m'apporter des éléments de réponses.
Merci d'avance.
Loublande
Hors ligne
#2 Mon 07 December 2015 13:05
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: tableau de synthèse sur une table
Bonjour,
Ce que vous voulez faire s'appelle une transposition de colonnes (tableaux croisés dynamiques dans excel):
convertir une serie de stats affichable en lignes en SQL, en colonnes d'une nouvelle table.
Il y a un module pour cela dans PostgreSQL, appelé tablefunc, qui marche très bien. (http://www.postgresql.org/docs/current/ … efunc.html)
Vous pouvez aussi le faire en faisant les stats par année d'abord, puis en faisant un join sur cette table intermédiaire, en filtrant les années comme il faut, mais c'est moins élégant
Nico
ps. je vous invite a renommer les champs de votre table pour ne pas les mettre entre "" et pouvoir les utiliser de facon insensible à la casse. C'est qd meme beaucoup plus pratique.
Hors ligne
#3 Mon 07 December 2015 13:07
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: tableau de synthèse sur une table
(ça sent un traitement dvf/majic, tout ça )
Hors ligne
#4 Mon 07 December 2015 13:56
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: tableau de synthèse sur une table
C'est intéressant ! Merci Nicolas !
J'avais plutôt l'habitude de faire ce genre de stat avec R qui offre un grand nombre de fonctionnalités dont celles de sortir rapidement quelques graphiques.
Pascal PLUVINET
En ligne
#5 Tue 08 December 2015 09:59
- Loublande
- Participant occasionnel
- Date d'inscription: 29 Oct 2008
- Messages: 38
Re: tableau de synthèse sur une table
Bonjour,
Merci Nicolas pour la réponse.
Je vais devoir me tourner vers la solution 2 pour le moment car je suis en version 8.4 ..... Je ne peux donc pas installer le module. Il faut que je demande à mon service info de migrer les bases d'abord.
Et, bien vu, il y a bien du DVF la dessous.
Loublande
Hors ligne
#6 Tue 08 December 2015 10:14
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: tableau de synthèse sur une table
Bonjour,
Tablefunc est disponible aussi pour la 8.4
(le "unsupported" en haut de la page indique que la 8.4 n'est plus supportée par PG (incitation a passer à une version supérieure).
Sinon, par requete ca marche aussi
Nicolas
Hors ligne