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










