Thread: ORDER BY FIELD feature

ORDER BY FIELD feature

From
Kevin Reynolds
Date:
Does postgresql have something similar to the ORDER BY FIELD feature found in MySQL?
 
Something like ORDER BY FIELD(ID, 10, 2, 56, 40);
 
 
I am using the Sphinx Search program, www.sphinxsearch.com, and it returns a list of IDs ordered by relevance.  I take the array it gives me and create a comma separated list which is used in a postgres query using the WHERE "ID" IN (10, 2, 56, 40) statement.  I would like to order the result by the order of the list.
 
Thanks.


Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

Re: ORDER BY FIELD feature

From
Guillaume Lelarge
Date:
Kevin Reynolds a écrit :
> Does postgresql have something similar to the ORDER BY FIELD feature
> found in MySQL?
>
> Something like ORDER BY FIELD(ID, 10, 2, 56, 40);
>
> It is listed here:  http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html
>
> I am using the Sphinx Search program, www.sphinxsearch.com
> <http://www.sphinxsearch.com>, and it returns a list of IDs ordered by
> relevance.  I take the array it gives me and create a comma separated
> list which is used in a postgres query using the WHERE "ID" IN (10, 2,
> 56, 40) statement.  I would like to order the result by the order of the
> list.
>

ORDER BY ID=10 DESC, ID=2 DESC, ID=56 DESC, ID=40  DESC
is the only way, AFAIK.

Regards.


--
Guillaume.
  http://www.postgresqlfr.org
  http://dalibo.com