是否可以在MySQL或CI中自定义order_by查询?如我希望我的专栏按('1','11','4','2','21','3','5','7')排序,那么如果我将它作为ASC结果将按我的自定义顺序显示。CI有没有办法查询自定义order_by
如果这是不可能的,获得这些订单的最佳解决方法是什么?希望只使用MySQL查询的简单解决方案。
所有的答案和建议都受到欢迎。谢谢。
是否可以在MySQL或CI中自定义order_by查询?如我希望我的专栏按('1','11','4','2','21','3','5','7')排序,那么如果我将它作为ASC结果将按我的自定义顺序显示。CI有没有办法查询自定义order_by
如果这是不可能的,获得这些订单的最佳解决方法是什么?希望只使用MySQL查询的简单解决方案。
所有的答案和建议都受到欢迎。谢谢。
纯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')
我没有测试过,但我不知道如果这些引号隐式转换剩余的数据为字符串。 – Strawberry
@Strawberry你可能是对的。所以你说的单引号redunddent –
我当然这么说。我也猜测他们是否改变了结果。 – Strawberry
很好,非常感谢很多人,在CI文档中找不到它。 – Charas
我很高兴我能够帮助:) – webpic