Pepper Pepper - 2 months ago 8
SQL Question

How do you keep the order using SELECT WHERE IN()?

Is there a way to keep the order when using SELECT WHERE IN()? For example, using the following query:

SELECT id FROM data_table WHERE id IN(56,55,54,1,7);


The results will come back using the default order by id. 1,7,54,55,56

When I want to keep the order used in the IN: 56,55,54,1,7

Is there a quick way to do this in mySQL or will I be forced to order it after in code.

Thanks :)

Answer

Use FIND_IN_SET:

ORDER BY FIND_IN_SET(id, '56,55,54,1,7')
Comments