Thread: Ranking?

Ranking?

From
Ruben Gouveia
Date:
Since there is no current solution to ranking values in pl/pgsql as the
rank() over (partition by... that there is in oracle i am hoping someone
can help me out here.

The table i created contains the following columns:

rank | value
------------

I wrote a cursor that will give me all the values.

rank | value
------------
     | 100
------------
     | 300
------------
     | 200
------------

Now, how do i create a FOR LOOP that will populate the rank column of
this table given the results of the cursor.

Ideally, i would want the FOR LOOP too look at the results of the query
results of my cursor and populate each row accordingly and my insert
statement would then populate the table and it will look like this

rank | value
------------
  1  | 300
------------
  2  | 200
------------
  3  | 100
------------

so in simple terms, i guess i need somekind of iteration based on the
values...

any examples out there?



Re: Ranking?

From
David Fetter
Date:
On Fri, Aug 22, 2008 at 02:30:46PM -0700, Ruben Gouveia wrote:
> Since there is no current solution to ranking values in pl/pgsql as
> the rank() over (partition by... that there is in oracle i am hoping
> someone can help me out here.

It seems likely that the windowing functions patch will get into 8.4,
so don't put too, too much effort into this. :)

Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate