Re: Selecting rows with "static" ordering

From: Kevin Hunter <hunteke(at)earlham(dot)edu>
To: Steve Midgley <public(at)misuse(dot)org>
Cc: PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Selecting rows with "static" ordering
Date: 2007-04-27 14:11:56
Message-ID: D9565B27-E46B-498D-ACCE-6DA953DA1ADA@earlham.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

At 8:01p -0400 on 26 Apr 2007, Steve Midgley wrote:
> From that application, I want to retrieve all those rows, and I
> want them in the order they are currently stored in that variable.
> So take for example this foreign application variable:
>
> ids = "3,2,5,1,4"
>
> The application then executes this sql:
>
> select * from table where id in (3,2,5,1,4)

> Is there a "neat trick" that anyone knows for pulling this off in a
> single query? Basically right now I'm issuing 5 queries to the
> backend to ensure ordering but this horribly inefficient.

Why not do this particular ordering on the application side? With
this example SQL, and assuming you've PRIMARY KEYed( id ), you're
guaranteed to get a unique id for each tuple. Presumably, you've got
the order you want stored within your application, so just pull it
out of a hash in the order you need it.

Or is it terribly more complicated than this?

Kevin

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message devil live 2007-04-30 14:06:33 Recursive query for Product Tree
Previous Message Dmitry Turin 2007-04-27 13:42:27 Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant