如何按照状态对订单表数据排序,优先展示状态为 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 的订单?的详细内容,更多请关注其它相关文章!