Re: ORDER records based on parameters in IN clause - Mailing list pgsql-sql

From Dawid Kuroczko
Subject Re: ORDER records based on parameters in IN clause
Date
Msg-id 758d5e7f05063000514ece9e33@mail.gmail.com
Whole thread Raw
In response to Re: ORDER records based on parameters in IN clause  ("M.D.G. Lange" <mlange@dltmedia.nl>)
List pgsql-sql
On 6/30/05, M.D.G. Lange <mlange@dltmedia.nl> wrote:
> Another option would be:
> SELECT * FROM table WHERE id=2003 OR id=1342 OR id=799 OR id=1450;
> This should give you the results in the right order...

I don't think so...


create temporary table seq as select * from generate_series(1,20) as g(id);
select * from seq where id in (5,2,12);id
---- 2 512


select * from seq where id = 5 or id = 2 or id = 12;id
---- 2 512

It certainly doesn't work.

You have to order it by something, like:

select * from seq where id in(5,2,12) order by id=5 desc,id=2 desc,id=12 desc;id
---- 5 212


Regards,   Dawid


pgsql-sql by date:

Previous
From: "M.D.G. Lange"
Date:
Subject: Re: ORDER records based on parameters in IN clause
Next
From: KÖPFERL Robert
Date:
Subject: Re: ENUM like data type