Tom Lane wrote:
>>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