如何按照订单状态排序,将“待操作”置于首位,“已撤销”置于末尾?
在 mysql 查询中,要按照订单状态排序,并确保“待操作”订单始终排在最前面,“已撤销”订单始终排在最后,可以使用以下查询:
select * from ( select case when status == 2 then 7 -- 将 "待操作" 映射到 7 when status == -1 then -1 -- 将 "已撤销" 映射到 -1 end as newStatus, status from m_table ) m order by newStatus desc;
登录后复制
此查询的工作原理是创建一个新的列 newstatus,将某些状态映射到不同的值:
- “待操作” 状态映射到 7(一个高值)
- “已撤销” 状态映射到 -1(一个低值)
新创建的 newstatus 列用于排序,确保“待操作”订单具有最高的值(排在最前面),而“已撤销”订单具有最低的值(排在最后)。原始 status 列仍可用于检索实际状态。
以上就是按照订单状态排序,如何置顶“待操作”并置底“已撤销”?的详细内容,更多请关注php中文网其它相关文章!