Funciones ventana

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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