From: | Jorge Tornero <jorge(dot)tornero(at)cd(dot)ieo(dot)es> |
---|---|
To: | Lista - PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Expresiones arbitrarias en GROUP BY |
Date: | 2011-01-28 07:45:35 |
Message-ID: | 1296200735.31093.18.camel@linux-lqqb.site |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos,
después de probar vuestras soluciones (alguna de las cuales, al menos en
postgresql 8.4 no funciona), he llegado a la siguiente solución, por si
fuera de vuestro interés (que a mí me parece más sencilla que las otras
alternativas, salvo que algún ser humano con más conocimientos de
postgres me corrija):
SELECT CASE WHEN PUERTO='VIGO' THEN VIGO ELSE 'NO VIGO' END AS
PUERTO_BASE, AVG(potencia) from prueba group by puerto_base;
Es importante establecer un alias para la columna que generamos con el
CASE, porque si no se nos queja del típico error de que la columna
puerto o la que sea no aparece en el group by o que ha de aparecer en un
agrgado.
Muchas gracias por vuestra ayuda, saludos
Jorge Tornero
El mar, 25-01-2011 a las 14:15 +0100, p valdes escribió:
> ... de hecho, ahora que me fijo, la expresión puede mejorarse un poco
> más aún así...
>
> SELECT vigo.puerto, avg(vigo.potencia)::numeric(3,0) media FROM vigo
> WHERE vigo.puerto::text = 'vigo'::text GROUP BY vigo.puerto union all
> select 'NO Vigo' puerto,avg(potencia)::numeric(3,0) media from vigo
> where puerto !='vigo';
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
--
-----------------------------------------
Jorge Tornero Núñez
Centro Oceanográfico de Cádiz
Instituto Español de Oceanografía
Puerto Pesquero - Muelle de Levante, s/n
11006 Cádiz - España
Tel. +34 956294189
Fax. +34 956294232
www.ieo.es
From | Date | Subject | |
---|---|---|---|
Next Message | Alfredo Torres | 2011-01-28 11:19:51 | Fwd: Fw: FW: POR FAVOR REENVIALA, NO TE TARDAS CASI NADA..! |
Previous Message | Fernando Siguenza | 2011-01-28 05:13:18 | Re: Consulta Fechas y between |