如何按照订单状态对订单表进行排序,将“待操作”排在最前,将“撤销”排在最后,其他状态按升序排列?

如何按照订单状态对订单表进行排序,将“待操作”排在最前,将“撤销”排在最后,其他状态按升序排列?

根据状态对订单进行排序

如何按照订单状态对订单表进行排序,并始终将“-1”撤销状态排在最后,而“2”待操作状态排在最前面,其余状态按升序排列呢?

以下提供了 mysql 解决方案:

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

该方法创建一个新的列“newstatus”,它是原始状态的修改值,用于排序。当状态为“2”(待操作)时,newstatus 被映射为“7”,从而使其在排序时排在第一位。当状态为“-1”(撤销)时,newstatus 被映射为“-1”,使其排在最后。其余状态保持其原始值并按照升序排序。

以上就是如何按照订单状态对订单表进行排序,将“待操作”排在最前,将“撤销”排在最后,其他状态按升序排列?的详细内容,更多请关注其它相关文章!