如何使用 IN(...) 中的订单项对结果进行排序?

How to order results by using order items in IN(...)?

我需要按照 IN(...) 条款中的相同顺序对结果进行排序。这该怎么做?例如:

SELECT id, name, desc FROM my_table WHERE id IN (8, 4, 19, 48, 15)

所以我需要按此顺序排列结果 8, 4, 19, 48, 15

您可以使用order by field

WHERE id IN (8, 4, 19, 48, 15)
order by field(id,8, 4, 19, 48, 15);

mySQL:

您需要附加ORDER BY FIELD(id,7,5,3,1)

SELECT id, name, desc FROM my_table WHERE id IN (7,5,3,1) ORDER BY FIELD(id,7,5,3,1);