Challenge question: is there a simpler way to do query #1 (without any PL, and if possible without sequences too?
Can't without sequences AFAIK, but you certainly can do it simpler:
select setval('seq1', 0);
select nextval('seq1'), * from (select count(*) as numranker, gold, silver, bronze from countrymedal group by gold, silver, bronze order by gold desc, silver desc, bronze desc) ss;
This is not quite the same. The ranks are sequential, but they skip, so as to match the number of participating countries.
-- dave
---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]