如何按照状态对订单表数据排序,优先展示状态为 2 的订单?

如何按照状态对订单表数据排序,优先展示状态为 2 的订单?

mysql 查询订单表按照状态排序 (-1 永远排最后,2 排最前)

如何将订单表中的数据按照状态排序,使得状态为 -1 的订单永远排在最后,状态为 2 的订单永远排在最前,其他状态按照升序排列?

sql 查询

select * from (select case when status==2 then 7,
when status==-1 then -1
end as newStatus,status from order_table) m order by newStatus desc;

说明:

该查询使用了 mysql 的 case 表达式将不同的状态映射到新的排序种子 newstatus 中:

  • 当状态为 2 时,映射到 7(最前)
  • 当状态为 -1 时,映射到 -1(最后)
  • 其他状态保持不变

然后,按照 newstatus 降序排列,即状态为 2 的订单排在最前,状态为 -1 的订单排在最后,其他状态按照升序排列。

以上就是如何按照状态对订单表数据排序,优先展示状态为 2 的订单?的详细内容,更多请关注其它相关文章!