On Fri, Aug 20, 2004 at 23:40:08 +0700, David Garamond <[EMAIL PROTECTED]> wrote:
Challenge question: is there a simpler way to do query #1 (without any PL, and if possible without sequences too?
You could use a subselect to count how many countries had a lower medal ranking and add 1 to get the rank. This should be a lot more standard than using sequences. It will probably be a little slower, but for tables of that size it shouldn't be a big deal.
Thanks for the tip. This is what I came up with:
select
(select count(*) from countrymedal c1 where
c1.gold>c2.gold or
(c1.gold=c2.gold and (c1.silver>c2.silver or
(c1.silver=c2.silver and c1.bronze>c2.bronze))))+1 as rank,
count(*) as numranker,
gold, silver, bronze
from countrymedal c2
group by gold, silver, bronze
order by rank;-- dave
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
