CI有没有办法查询自定义order_by

时间:2017-04-25 06:35:40

标签: php mysql codeigniter

是否可以在MySQL或CI中自定义order_by查询?比如我希望我的专栏可以订购(' 1',' 11',' 4',' 2',&#39 ; 21',' 3',' 5',' 7')因此,如果我将其作为ASC查询,结果将按照我自定义的顺序显示顺序。

如果不可能,获得这些订单的最佳解决方法是什么?希望只使用MySQL查询的简单解决方案。

非常欢迎所有的答案和建议。感谢。

2 个答案:

答案 0 :(得分:5)

试试这个。

$this -> db -> order_by('FIELD ( table.id, 1, 11, 4,2,21,3,5,7 )');

link

答案 1 :(得分:0)

纯Mysql答案是肯定的,你可以通过MYSQL FIELD()函数的集合列表来订购字段

SELECT *
FROM mytable 
WHERE id IN ('1', '11', '4', '2', '21', '3', '5', '7')
ORDER BY FIELD(id, '1', '11', '4', '2', '21', '3', '5', '7')