Re: order by question

Поиск
Список
Период
Сортировка
От Sergio Gabriel Rodriguez
Тема Re: order by question
Дата
Msg-id 15aa6b3e0907051302q6d848ee7k5345ace120b0b29b@mail.gmail.com
обсуждение исходный текст
Ответ на Re: order by question  (Scott Marlowe <scott.marlowe@gmail.com>)
Список pgsql-admin

On Fri, Jun 19, 2009 at 10:46 PM, Scott Marlowe <scott.marlowe@gmail.com> wrote:
On Fri, Jun 19, 2009 at 7:32 PM, Tony Liao<tonyliao@yuehetone.com> wrote:
> Thanks,All,
>          To Tino,I want to order by IN condition "(6,3,4,10,7)".
>          To Sergio,my answer is "Yes".
>          To Kenny,I think this is not the result I want to get.
>          To Scott,In database,there are thousands of  products.the select
> query is generated by application,and it is not sure how many product_id
> in condition,maybe the next query would be .........product_id in
> (4,26,7,8,9,23,27,54)

If you generate the product_id in  (4,26,7,8,9,23,27,54) part then
it's pretty easy to create the order by case part too.

I agree with Scott, if your application generate IN condition, could create CASE too, looks like this

SELECT id, product_id FROM your_table
   WHERE product_id IN (6, 3, 4, 10, 7)
    ORDER BY
      CASE
        WHEN product_id = 6  THEN 1
        WHEN product_id = 3  THEN 2
        WHEN product_id = 4  THEN 3
        WHEN product_id = 10 THEN 4
        WHEN product_id = 7  THEN 5
      END;

Regards,

Sergio Gabriel Rodriguez
http://www.3trex.com.ar

В списке pgsql-admin по дате отправления:

Предыдущее
От: "Benjamin Krajmalnik"
Дата:
Сообщение: Statistical tracking issue
Следующее
От: Andy Shellam
Дата:
Сообщение: Compile errors when building 32-bit on 64-bit system