Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Agrupar por año

From: Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com>
To: Rodrigo Gonzalez <rjgonzale(at)estrads(dot)com(dot)ar>
Cc: Giorgio <giorgio(dot)pgsql(at)gmail(dot)com>, PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Agrupar por año
Date: 2011-08-05 18:26:12
Message-ID: CAGYOd3pzZgxMXog3rNm9C_yPbvKOpCGmBxe7anCb2Qinvuev_g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola

no vi bien si ya te dieron el resultado pero puedes hacer algo asi

select distinct(anno), count(*) as total_aportantes from tabla_anno group by
anno

Si tubieras una tabla de esta forma con unos registros que variaran en año

¦----------------¦---------¦---------------
¦ aportante ¦ anno ¦ aporte
¦----------------¦---------¦-------
¦ JUAN ¦2010 ¦ 8
¦ CARLOS ¦2010 ¦ 8
¦ JOSE ¦2011 ¦ 8
¦ JERY ¦2011 ¦ 8
¦ JORGE ¦2011 ¦ 8
¦ JEAN ¦2012 ¦ 8
¦ JEAN ¦2012 ¦ 8

tendrias un resultado asi

¦---------¦-------------------------¦
¦ anno ¦ total_aportantes
¦---------¦-------------------------¦
¦2010 ¦ 2
¦2011 ¦ 3
¦2012 ¦ 2

espero te sirva

El 5 de agosto de 2011 12:58, Rodrigo Gonzalez
<rjgonzale(at)estrads(dot)com(dot)ar>escribió:

> **
> On 05/08/11 14:33, Giorgio wrote:
>
> Lo que deseo es tener un total de aportes por año (desde el 2002 hasta
> 2011), estoy probando con un solo año pero mi select me muestra algo asi:deseo
> es que me muestre algo asi:
>
> SELECT year_aporte, COUNT(*)
> FROM tb_aporte
> WHERE year_aporte= 2011
> AND monto_aporte= 8
> GROUP BY year_aporte
> ORDER BY year_aporte
>
> Resultado:
>
> ¦ año ¦ aporte
> ¦---------¦-------
> ¦2011 ¦ 8
> ¦2011 ¦ 8
> ¦2011 ¦ 8
> ...etc.
>
>
> Y lo que quiero es solo un total por ejemplo:
>
> ¦---------¦-------------------------¦
> ¦ año ¦ total_aportantes
> ¦---------¦-------------------------¦
> ¦2011 ¦ 6
>
> Gracias.
>
> Quizas sea hora de irme a dormir....pero la consulta la menos para lo que
> mostras tiene que dar el resultado bien....cree una pequeña tabla aca y
> probe tu consulta por las dudas....
>
> postgres=# CREATE TABLE tb_aporte (nombre varchar(20), year_aporte int,
> monto_aporte int);
> CREATE TABLE
> postgres=# insert into tb_aporte values ('JUAN', 2011, 8), ('CARLOS', 2011,
> 8), ('JOSE', 2011, 8), ('JERY', 2011, 8), ('JORGE', 2011, 8), ('JEAN', 2011,
> 8);
> INSERT 0 6
> postgres=# SELECT year_aporte, COUNT(*)
> postgres-# FROM tb_aporte
> postgres-# WHERE year_aporte= 2011
> postgres-# AND monto_aporte= 8
> postgres-# GROUP BY year_aporte
> postgres-# ORDER BY year_aporte;
> year_aporte | count
> -------------+-------
> 2011 | 6
> (1 row)
>
> Asi que revisa si estas corriendo esa consulta porque tiene que dar
> exactamente bien
>
> Saludos
>
> Rodrigo Gonzalez
>

--
ISC Miguel Angel Hernandez Moreno

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-08-05 18:44:04 Re: crear funcion para devolver un fetch all de un cursor a partir de otra funcion
Previous Message Rodrigo Gonzalez 2011-08-05 17:58:03 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Agrupar por año