Re: ORDER records based on parameters in IN clause

Поиск
Список
Период
Сортировка
От Dawid Kuroczko
Тема Re: ORDER records based on parameters in IN clause
Дата
Msg-id 758d5e7f05063000514ece9e33@mail.gmail.com
обсуждение исходный текст
Ответ на Re: ORDER records based on parameters in IN clause  ("M.D.G. Lange" <mlange@dltmedia.nl>)
Список 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 по дате отправления:

Предыдущее
От: "M.D.G. Lange"
Дата:
Сообщение: Re: ORDER records based on parameters in IN clause
Следующее
От: KÖPFERL Robert
Дата:
Сообщение: Re: ENUM like data type