From: | Jorge Tornero <jorge(dot)tornero(at)cd(dot)ieo(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Funciones ventana |
Date: | 2011-04-18 06:46:55 |
Message-ID: | 4DABDE5F.1000709@cd.ieo.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos,
experimentando con las funciones ventana me encuentro con lo siguiente:
Imaginemos una tabla BIO tal que:
marea int
lance int
fraccion int
talla int
la cosa es que si yo hago:
select marea,lance,fraccion,avg(talla) over(partition by
marea,lance,fraccion) from bio;
me saca los resultados correctamente, pero si yo quisiera escoger
aquellos con media>100, por ejemplo, se me ocurren dos cosas:
select marea,lance,fraccion,avg(talla) over(partition by
marea,lance,fraccion) from bio group by marea, lance,fraccion,talla
having avg(talla)>100;
En cuyo caso me da las medias erróneas (y además, me obliga a introducir
talla en la clausula group by, lo que me parece extraño)
O bien intento algo como:
select marea,lance,fraccion,avg(talla) over(partition by
marea,lance,fraccion) as media from bio where media>100;
Y en este caso se queja de que no existe la columna "media".
¿Alguna idea sobre cómo proceder?
Saludos y gracias
Jorge Tornero
--
Jorge Tornero
Instituto Español de Oceanografía
Centro Oceanográfico de Cádiz
Puerto Pesquero - Muelle de Levante, s/n
11006 Cadiz - Spain
Tel. +34 956294189 Fax 956294232
www.ieo.es
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel L.S. | 2011-04-18 07:26:27 | Herramienta CASE |
Previous Message | Jaime Casanova | 2011-04-16 18:44:35 | Re: Commit difiere en muchos segundos |