El 19 de julio de 2010 13:10, Felipe Hernández <[email protected]> escribió:

>
>
> El 19 de julio de 2010 12:55, Fernando Siguenza <[email protected]>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: [email protected]
>> > To: [email protected]
>> > CC: [email protected]
>>
>> >
>> > El día 19 de julio de 2010 13:22, Fernando Siguenza
>> > <[email protected]> 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

Responder a