Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
320 views
Welcome To Ask or Share your Answers For Others

1 Answer

Use FIND_IN_SET:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...