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
> >
>
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 |