mysql 查询订单表按照状态排序 (-1 永远排最后,2 排最前)
如何将订单表中的数据按照状态排序,使得状态为 -1 的订单永远排在最后,状态为 2 的订单永远排在最前,其他状态按照升序排列?
sql 查询
select * from (select case when status==2 then 7,when status==-1 then -1end as newStatus,status from order_table) m order by newStatus desc;
说明:
该查询使用了 mysql 的 case 表达式将不同的状态映射到新的排序种子 newstatus 中:
当状态为 2 时,映射到 7(最前)当状态为 -1 时,映射到 -1(最后)其他状态保持不变
然后,按照 newstatus 降序排列,即状态为 2 的订单排在最前,状态为 -1 的订单排在最后,其他状态按照升序排列。
以上就是如何按照状态对订单表数据排序,优先展示状态为 2 的订单?的详细内容,更多请关注范的资源库其它相关文章!
转载请注明:范的资源库 » 如何按照状态对订单表数据排序_优先展示状态为2的订单?