sort for ranking - Mailing list pgsql-sql

From Andreas Schmitz
Subject sort for ranking
Date
Msg-id 200307071614.14913.a.schmitz@cityweb.de
Whole thread Raw
Responses Re: sort for ranking  ("scott.marlowe" <scott.marlowe@ihs.com>)
List pgsql-sql
Hello *,

I have a little problem that confuses me. We are gathering values from a table 
as a sum to insert them into another table. I also need to get a ranking at 
insert (i.e. Highest points will get first place and so on). I tried ton 
invole a sequence to qualify the ranking by select at insert.

So I tried the following (smaller example)

select setval('tipp_eval_seq',1);
select sum_user,nextval('tipp_eval_seq')-1 as ranking from tbl_sums order by 
ranking desc, user_sum asc;
 user_sum | ranking 
----------+---------      46 |      30      45 |      26      44 |      28      43 |      25      42 |       1      41
|      2      39 |       3      38 |      27      36 |      19      35 |      18      34 |      20      31 |      24
 30 |      17      29 |      15      28 |      16      27 |      12      26 |      11      25 |      23      24 |
21     23 |      10      19 |      13      16 |       9      12 |       7      11 |       8      10 |      29       8 |
     6       7 |       5       6 |      14       2 |       4       1 |      22
 
(30 rows)


As you can see, the sums are sorted correctly but the ranking is a mess. I 
recongnized that the select seems to follow primarily the internal table 
order. Is there any way to solve this nicely. Hints and solutions are 
appreciated.

Thanks in advance 

-Andreas


-- 
Andreas Schmitz - Phone +49 201 8501 318
Cityweb-Technik-Service-Gesellschaft mbH
Friedrichstr. 12 - Fax +49 201 8501 104
45128 Essen - email a.schmitz@cityweb.de



pgsql-sql by date:

Previous
From: Richard Rowell
Date:
Subject: Database Upgrade scripts (AKA Conditional SQL execution)
Next
From: Richard Huxton
Date:
Subject: Re: Concat and view - Re: create view error