Re: Is it possible to make the order of output the same as the order of input parameters?

From: Tim Landscheidt <tim(at)tim-landscheidt(dot)de>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Is it possible to make the order of output the same as the order of input parameters?
Date: 2010-06-02 15:42:26
Message-ID: m3vda1tp99.fsf@passepartout.tim-landscheidt.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sam Mason <sam(at)samason(dot)me(dot)uk> wrote:

>> > SELECT c.*
>> > FROM customer c, (
>> > SELECT *, row_number() OVER ()
>> > FROM (VALUES (23), (56), (2), (12), (10)) x) x(val,ord)
>> > WHERE c.id = x.val
>> > ORDER BY x.ord;

>> Wow, that's really cool and a nice case for row_number().

> Just thinking about it now; do SQL's semantics say it'll always do
> the right thing? PG does in a couple of quick tests (i.e. one where
> customer is a small table and PG prefers a seqscan and where it's larger
> and prefers an index scan) but I'm not sure if this could change.

PostgreSQL's documentation on VALUES has at least no guaran-
tee of the order of data. I'd prefer David's solution :-).

Tim

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Oliveiros 2010-06-02 15:44:09 Re: [NOVICE] sum multiple tables gives wrong answer?
Previous Message Richard Broersma 2010-06-02 15:38:36 Re: [NOVICE] sum multiple tables gives wrong answer?