Re: Problem with result ordering - Mailing list pgsql-general

From Tom Lane
Subject Re: Problem with result ordering
Date
Msg-id 20467.1169743416@sss.pgh.pa.us
Whole thread Raw
In response to Problem with result ordering  (Thorsten Körner <t.koerner@cappuccinosoft.de>)
Responses Re: Problem with result ordering  (Tommy Gildseth <tommy@gildseth.com>)
List pgsql-general
Thorsten =?iso-8859-1?q?K=F6rner?= <t.koerner@cappuccinosoft.de> writes:
> select m_id, m_u_id, m_title, m_rating from tablename where m_id in (26250,
> 11042, 16279, 42197, 672089);

> I wonder, how it is possible, to retrieve the results in the same order, as
> queried in the list.

You could rewrite the query as

select ... from tablename where m_id = 26250
union all
select ... from tablename where m_id = 11042
union all
select ... from tablename where m_id = 16279
union all
select ... from tablename where m_id = 42197
union all
select ... from tablename where m_id = 672089

This isn't guaranteed by the SQL spec to produce the results in any
particular order either; but there's no good reason for PG to rearrange
the order of the UNION arms, whereas there are plenty of good reasons to
try to optimize fetching of individual rows.

            regards, tom lane

pgsql-general by date:

Previous
From: Inoqulath
Date:
Subject: Re: SQL Newbie Question
Next
From: "A. Kretschmer"
Date:
Subject: Re: Problem with result ordering