Re: contar distintos con ventana?

From: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
To: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: contar distintos con ventana?
Date: 2014-09-01 11:17:54
Message-ID: CANm+PCBS8rZmhS6PB-EaUGokPXT+en-r1ddTg5dW1DEx3F7R0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias Gerardo, si lo había pensado, pero como "consulta" es un tanto
compleja quería ver la posibilidad de que no sea necesario volver a
ejecutarla por cada fila resultante.
De todas maneras descubrí que en la herramienta de reportes que utilizo si
tiene la posibilidad de contar valores diferentes dentro del resultado.
Igual muchas gracias!

Guillermo Villanueva

El 29 de agosto de 2014, 13:35, Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
escribió:

> No veo que "ventana" aplicar....Mas bien veo que hay que recorrer el
> resultado secuencialmente, para hacer un count (distinct).
> No veo necesidad de repetir la consulta, pero si de recorrer los datos
> resultantes, tal vez con una subconsulta:
>
> test=# with consulta as (select * from test)
> select *, (select count(distinct id) from consulta)
> from consulta;
>
> id | t | count
> ----+-----+-------
> 1 | 0.3 | 6
> 1 | 0.5 | 6
> 2 | 0.1 | 6
> 2 | 0.9 | 6
> 3 | 0.3 | 6
> 1 | 0.5 | 6
> 4 | 0.1 | 6
> 5 | 0.9 | 6
> 8 | 0.3 | 6
>
> Si tu "consulta" original no devuelve demasiados registros, no veo que
> vaya a generar excesivo overhead.
>
> HTH
> Gerardo
> ----- Mensaje original -----
> > De: "Guillermo E. Villanueva" <guillermovil(at)gmail(dot)com>
> > Para: "pgsql-es-ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> > Enviados: Jueves, 28 de Agosto 2014 20:01:18
> > Asunto: [pgsql-es-ayuda] contar distintos con ventana?
> >
> >
> > Hola amigos, con una tabla mas o menos como:
> > id t
> > ---+---
> > 1 0.3
> > 1 0.5
> > 2 1.1
> > 2 1.2
> > 2 1.1
> > 3 0.5
> > 3 0.6
> > Existe alguna forma de función de ventana que me permita obtener la
> > cantidad de ids diferentes listadas? En este caso e (tres)
> >
> > id t cant
> > ---+---+----
> > 1 0.3 3
> > 1 0.5 3
> > 2 1.1 3
> > 2 1.2 3
> > 2 1.1 3
> > 3 0.5 3
> > 3 0.6 3 La consulta que devuelve esto es bastante compleja y no me
> > gustaría repetirla solo para contar valores diferentes.
> > Desde ya muchas gracias!
> >
> >
> >
> > Guillermo Villanueva
> >
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Jiménez Carrasco 2014-09-01 16:14:27 Re: Duda con procedimientos almacenados.
Previous Message Anthony Rafael Sotolongo León 2014-09-01 01:52:27 Re: VINCULAR CONTACTOS DE MICROSOFT OUTLOOK A POSTGRESQL