Bruce Momjian <pgman@candle.pha.pa.us> writes:
>>> select nextval('temp_counter'), * from (select .... order by ...);
>>
>> Approximately the same solution, but without saving the result in a temp
>> table.
> I thought about doing it this way. However, a subselect as a
> pseudotable is not guaranteed to return the data in any specific order,
> so I don't think this method work work reliably.
Say what? Given the ORDER BY in the subselect, it will.
Of course, you can't do any grouping or other processing at the outer
level, but the example as given is just fine.
regards, tom lane