From: | Silvio Quadri <silvioq(at)gmail(dot)com> |
---|---|
To: | Emiliano Moscato <moski666(at)gmail(dot)com> |
Cc: | Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Usando GROUP BY |
Date: | 2009-03-05 12:51:07 |
Message-ID: | 61dc71dc0903050451k18fc8c85o7f5814b8841ced4f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 5 de marzo de 2009 10:32, Emiliano Moscato <moski666(at)gmail(dot)com> escribió:
> 2009/3/4 Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>:
>>
>> Lo más sencillo sería utilizar un select distinct on.
>> http://www.postgresql.org/docs/8.3/static/queries-select-lists.html
>>
>> Sería algo así como:
>>
>> SELECT DISTINCT ON (city) city, temp_lo, date
>> FROM weather
>> ORDER BY temp_lo
>>
>> De seguro esta es la forma más sencilla de hacerlo, tocaría evaluar si es
>> más o menos óptimo que utilizar joins con la misma tabla.
>
> Gracias Raúl!
>
> Quería estar seguro de que no tenía algo menos costoso y muy obvio a mano.
> Creo q me voy a quedar con esta solución.
> Saludos!
>
> Moski
> --
> TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
>
Si querés usar ANSI SQL bien ortodoxo ...
SELECT city, temp_lo, date
FROM weather a
where temp_lo = ( select max( temp_lo )
from weather b
where b.city = a.city )
... debería funcionar (no lo he probado)
Eso sí, si tenés la misma temperatura máxima en la misma ciudad, en
distintos días, te devuelve más de un registro.l
--
Silvio Quadri
From | Date | Subject | |
---|---|---|---|
Next Message | Teofilo Oviedo | 2009-03-05 13:11:20 | [OT] Plan de migración de un sistema y BD |
Previous Message | Emiliano Moscato | 2009-03-05 12:32:53 | Re: Usando GROUP BY |