From: | "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx> |
---|---|
To: | "Emiliano Moscato" <moski666(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Usando GROUP BY |
Date: | 2009-03-04 21:13:51 |
Message-ID: | 74DD95D4A9EA4143A8C07D28DE1DB508@amadeus.net.co |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
>
>----- Original Message -----
>From: "Emiliano Moscato" <moski666(at)gmail(dot)com>
>To: <pgsql-es-ayuda(at)postgresql(dot)org>
>Sent: Wednesday, March 04, 2009 2:31 PM
>Subject: [pgsql-es-ayuda] Usando GROUP BY
>
>Hola a todos!
>
>Cada tanto me encuentro con el mismo tipo de problema haciendo queries
>en postgres. Supongamos que tenemos el ejemplo del tutorial de
>Postgres (http://www.postgresql.org/docs/8.1/static/tutorial-agg.html)
>
>SELECT city, max(temp_lo)
> FROM weather
> GROUP BY city;
>
> city | max
>---------------+-----
> Hayward | 37
> San Francisco | 46
>(2 rows)
>
>pero además querría saber en que fecha ocurrió dicha temperatura. Cuál
>sería la manera "más correcta" de hacerlo?
>
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.
Atentamente,
RAUL DUQUE
Bogotá, Colombia
>En mis tiempos de Mysql hacía algo del estilo, haciendo uso de los
>abusos del standard por parte de MYSQL:
>
>SELECT city, max(temp_lo), date
> FROM weather
> GROUP BY city;
>
>pero en Postgres,si hago esto, me reclama que date no debe estar en el
>group by. Claramente, esto no sería útil, dado que al ponerlo en el
>group by, me desagrega la maxima temperatura de la ciudad por dias.
>
>Cuál sería la manera correcta de hacer este query?
>
>Gracias por adelantado, saludos
>
>Moski
From | Date | Subject | |
---|---|---|---|
Next Message | Agustin Ignacio Genoves | 2009-03-04 23:46:17 | Re: PL/pgsql |
Previous Message | Jaime Casanova | 2009-03-04 21:03:29 | Re: Usando GROUP BY |