Re: Consulta que me esta complicando bastante

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Gustavo <gustavor(at)intercomgi(dot)net>
Cc: PostgreEs <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consulta que me esta complicando bastante
Date: 2007-09-07 20:10:14
Message-ID: 20070907201014.GN6167@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gustavo escribió:

> Ahora yo quiero hacer una consulta encima que me devuelva por cada nivel la
> cantidad de elementos que sean de nivel <= nivel_actual
>
> Resultado
>
> Nivel | Count
> 0 | 1
> 1 | 2
> 2 | 3
> 3 | 4
> 4 | 5
> 5 | 8
> 6 | 16
> 7 | 29
> 8 | 37
> 9 | 40

Eso no es muy facil de hacer. En Oracle y otros tienes una herramienta
que se llama "windowing functions", con lo cual es trivial. Aca en
Postgres (donde esas funciones no estan implementadas) lo puedes hacer
usando una tecnica conocida como "running aggregates". En esta pagina
se explica como:

http://www.varlena.com/GeneralBits/34.php

mira el ultimo articulo, "Running Aggregates in PostgreSQL with
plpython". Tambien lo puedes hacer con plperl. Dicen que en "SQL for
Smarties" (libro de Joe Celko) se explica como hacerlo solo con SQL,
pero no tengo idea como sera.

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
"Ellos andaban todos desnudos como su madre los parió, y también las mujeres,
aunque no vi más que una, harto moza, y todos los que yo vi eran todos
mancebos, que ninguno vi de edad de más de XXX años" (Cristóbal Colón)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Dilm E.I.R.L 2007-09-07 20:15:50 Requisitos PostgresSQL
Previous Message victor benitez 2007-09-07 20:09:30 Re: Consulta que me esta complicando bastante