登录
首页 >  数据库 >  MySQL

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

时间:2024-10-26 14:52:00 472浏览 收藏

学习数据库要努力,但是不要急!今天的这篇文章《如何按照订单状态对订单表进行排序,将“待操作”排在最前,将“撤销”排在最后,其他状态按升序排列?》将会介绍到等等知识点,如果你想深入学习数据库,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

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

根据状态对订单进行排序

如何按照订单状态对订单表进行排序,并始终将“-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”,使其排在最后。其余状态保持其原始值并按照升序排序。

今天关于《如何按照订单状态对订单表进行排序,将“待操作”排在最前,将“撤销”排在最后,其他状态按升序排列?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>