From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Karla Paola Diazgranados Sánchez <karlapds(at)gmail(dot)com> |
Cc: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Consultas bivariadas |
Date: | 2005-10-03 14:28:28 |
Message-ID: | 20051003142828.GG5086@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, Sep 29, 2005 at 03:16:18PM -0500, Karla Paola Diazgranados Sánchez wrote:
Hola,
> Siento no haber sido muy clara con mi consulta. En realidad la consulta
> podría ser más fácil de lo que parece... así como cuando se utiliza la
> función GROUP BY para obtener los valores agrupados por un campo
> específico... en este caso necesitaría tenerlo por dos al tiempo, pero
> enfrentados, así:
>
> Femenino Masculino
> ______________________________________________
>
> Menor de 5 10 9
> 5 a 15 años 30 45
> 15 a 45 años 83 76
> Mayor de 45 años 21 21
Ah, claro. No, creo que no hay ninguna manera de hacer eso
directamente en Postgres. Lo que quizas te podria servir (y digo solo
quizas) es el uso de un modulo de contrib llamado tablefunc, donde se
define una funcion llamada crosstab(). La idea es que tus "categories"
serian "femenino" y "masculino" y los "row_names" serian "Menor de 5",
"5 a 15 años", etc. No creo que haya una manera de hacerlo mas
automaticamente que eso, pero ciertamente seria grato que hubiera.
--
Alvaro Herrera http://www.PlanetPostgreSQL.org
"Oh, great altar of passive entertainment, bestow upon me thy discordant images
at such speed as to render linear thought impossible" (Calvin a la TV)
From | Date | Subject | |
---|---|---|---|
Next Message | Conrado Blasetti | 2005-10-03 14:53:19 | RE: Funcion local |
Previous Message | Alvaro Herrera | 2005-10-03 14:22:54 | Re: Funcion local |