我正在为搜索功能建立一个mysql查询,现在我想以某种方式使用ID数组来排列结果。MYSQL按字段排序或Find_in_set无IN()
我已经能够做到这一点,通过使用类似这样一块MYSQL的:
SELECT id, name
FROM mytable
WHERE id IN (77, 3, 123, 1)
ORDER BY FIELD(id, 77, 3, 123, 1)
但我不知道是否有可能Order by FIELD
或FIND_IN_SET
没有选择查询中设置IN()
。
我不想使用IN()语句,因为我也希望结果不是数组中ID的
希望有人可以把我在正确的方向,在
谢谢事先,
你应该使用'UNION ALL',因为这两个选择肯定有一个空的交点。 –
第一种方法对我最有效,它比NOT IN查询快了几毫秒,但一切都很重要:P 感谢您的回答和解释! – Lennart