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
