"Craig A. James" <cjames@modgraph-usa.com> writes:
> insert into hitlist(p_id, sortorder)
> (select p_id, nextval('hitlist_seq') from
> (select p_id, min(data) as m from c group by p_id order by m);
> Apparently, the sort order returned by the innermost select is NOT
> maintained as you go through the next select statement -- the rows seem
> to come out in random order. This surprised me.
It surprises me too. This is outside the SQL spec, because the spec
doesn't allow ORDER BY in subselects, but Postgres definitely does and
we expect it to be honored. Can you provide a complete example and the
EXPLAIN plan that you're getting?
regards, tom lane