2019-03-21

场景:

之前在项目中遇到这样的问题,今天又遇到了,查了一些资料,记录一下

我在查询数据中,按照某个状态排序的时候,我的状态实际值是:0,1,2,3,4,5 而我项目需求是按 2,3,5,4,1 0排序;

问题出现了,无论是正序还是逆序 都不能满足我当前的需求,怎么办?

解决方案:

方法1:直接sql 更改状态值为想要的顺序.

order by select status case when 2 then 5 case when 2 then 4  case when 5 then 3 case when 4 then 2 case 1 case else 0 order by status asc;

方法2:利用where in 方法 

具体sql如下 select * from table where status in (2,3,5,4,1 0) order by find_in_set(id,'2,3,5,4,1 0');

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容