如何使用 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);
我需要按照 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);