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
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 |