对返回的结果我想基于ID的基于自定义命令
SELECT * FROM `test` AS a
WHERE a.bla != '1' AND (
a.id = 85355 OR
a.id = 85353 OR
a.id = 80090 OR
a.id = 1 OR
a.id = 300
)
LIMIT 0, 5
问题做一个简单的搜索,结果没有按照我的查询中列出。
我想,行顺序是这样的85355, 85353, 80090, 1, 300
我尝试以下查询,但不起作用。
SELECT * FROM `test` AS a WHERE a.bla!='1' AND (a.id=85355 OR a.id=85353 OR a.id=80090 OR a.id=1 OR a.id=300)
ORDER BY IF (FIELD(id, "85355,85353,80090,1,300"), 0, id), FIELD(id, "85355,85353,80090,1,300")
是否有任何方法根据我的自定义顺序对查询结果进行排序?
这个[page](http://stackoverflow.com/a/6332081/2145211)看起来像你的解决方案 – Harrison
你可以放置你的表的show create statements en show索引和关于你的数据的一些信息..就像if a.bla只包含'1'或'0'?并且http://sqlfiddle.com/上的一些示例数据会很好,如果sqlfiddle再次运行.. –
@RaymondNijland更新了问题并包含表格模式 – user2636556