
mysql 查询订单表按照状态排序 (-1 永远排最后,2 排最前)
如何将订单表中的数据按照状态排序,使得状态为 -1 的订单永远排在最后,状态为 2 的订单永远排在最前,其他状态按照升序排列?
sql 查询
select * from (select case when status==2 then 7, when status==-1 then -1 end as newStatus,status from order_table) m order by newStatus desc;
说明:
该查询使用了 mysql 的 case 表达式将不同的状态映射到新的排序种子 newstatus 中:
然后,按照 newstatus 降序排列,即状态为 2 的订单排在最前,状态为 -1 的订单排在最后,其他状态按照升序排列。
以上就是如何按照状态对订单表数据排序,优先展示状态为 2 的订单?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号