Re: Ayuda con group by

From: Felipe Hernández <pipelx(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con group by
Date: 2010-07-19 18:12:13
Message-ID: AANLkTim0fIJ-vEhPMi--HnFnb3L3uQ_of4WrjVJ3TIJq@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 19 de julio de 2010 13:10, Felipe Hernández <pipelx(at)gmail(dot)com> escribió:

>
>
> El 19 de julio de 2010 12:55, Fernando Siguenza <fsigu(at)hotmail(dot)com>escribió:
>
> Muchas gracias silvio por la ayuda,pero al momento de ejecutar la consulta
>> como me indicas se demora casi 4 minutos en realizar la misma,
>> tengo apenas 30700 registros.
>>
>> alguna forma de optimzar la misma?/
>>
>> saludos
>>
>> > Date: Mon, 19 Jul 2010 13:53:29 -0300
>> > Subject: Re: [pgsql-es-ayuda] Ayuda con group by
>> > From: silvioq(at)gmail(dot)com
>> > To: fsigu(at)hotmail(dot)com
>> > CC: pgsql-es-ayuda(at)postgresql(dot)org
>>
>> >
>> > El día 19 de julio de 2010 13:22, Fernando Siguenza
>> > <fsigu(at)hotmail(dot)com> escribió:
>> > > Amigos como estan queria consultarles a ver si medan una mano con una
>> > > consulta que necesito.
>> > > Tengo una tabla con los campos semana,fecha,hora,temperatura,humedad
>> > >
>> > > y necesito saber por dia cuales la temperatura y humedad maxima de
>> cada dia
>> > > y a que hora ocurre esto.
>> > >
>> > > Entonces tengo la siguiente consulta
>> > >
>> > > select semana,fecha,hora,max(temperatura),max(humedad)
>> > > from dataloger
>> > > group by semana,fecha,hora
>> > >
>> >
>> > Tenés que hacer dos consultas, una para la humedad y otra para la
>> > temperatura, ya que el horario de temperatura puede ser distinto al de
>> > humedad.
>> >
>> >
>> > select a.fecha, a.hora, a.humedad
>> > from dataloger a
>> > where humedad = ( select max( humedad )
>> > from dataloger b
>> > where a.fecha = b.fecha )
>> >
>> > y lo mismo para temperatura.
>> >
>> > Silvio
>>
>>
> La consulta es ineficiente, nunca hagas algo como campo = ( select ) , esto
> hace q la consulta del select interno corra por cada registro a comparar, en
> este caso seria algo como 30 mil veces por cada registro. mas bien has algo
> como esto
>
>
> select
> a.fecha,
> a.hora,
> a.humedad
> from
> dataloger a,
> (select
> fecha,
> max( humedad ) as humedad
> from
> dataloger
> group by
> fecha) as b
> where
> a.fecha=b.fecha and
> a.humedad=b.humedad
>
> y lo mismo para la temperatura.
>
>
>
>> ------------------------------
>> Get news, entertainment and everything you care about at Live.com. Check
>> it out! <http://www.live.com/getstarted.aspx>
>>
>
>
>
> --
> fElIpE
>

--
fElIpE

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Siguenza 2010-07-19 18:12:58 RE: Ayuda con group by
Previous Message Oscar Argueta 2010-07-19 18:05:48 Optimizando Postgres