2024-10-25

按照订单状态排序,如何置顶“待操作”并置底“已撤销”?

按照订单状态排序,如何置顶“待操作”并置底“已撤销”?

如何按照订单状态排序,将“待操作”置于首位,“已撤销”置于末尾?

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中文网其它相关文章!

https://www.php.cn/faq/1063158.html

发表回复

Your email address will not be published. Required fields are marked *