Re: Problem with result ordering

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Thorsten Körner <t(dot)koerner(at)cappuccinosoft(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Problem with result ordering
Date: 2007-01-25 16:43:36
Message-ID: 20467.1169743416@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thorsten =?iso-8859-1?q?K=F6rner?= <t(dot)koerner(at)cappuccinosoft(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kai Schlamp 2007-01-25 16:46:35 relationship in a table
Previous Message Inoqulath 2007-01-25 16:08:01 Re: SQL Newbie Question