文章标题只是举例子,实际情况是这样的。
我们是报社出版商行业,要根据书籍的状态作一个排序。`state` VARCHAR(10) NULL DEFAULT '0000' COMMENT ' 资源状态1已下架 2三审拒绝 3三审通过 4二审拒绝 5二审通过 6一审拒绝 7一审通过 8待审核实际对应的代码:
待审核 0000
一审通过 1000
一审拒绝 2000
二审通过 1100
二审拒绝 1200
三审通过 1111
三审拒绝 1120
已下架 1110我们要让排序的结果是这样子降序的
待审核(0000) > 一审通过(1000) > 一审拒绝(2000) > 二审通过(1100) > 二审拒绝(1200) > 三审通过(1111) > 三审拒绝(1120) > 已下架(1100)这些代码是乱序的, 我要如何编写order by语句?
我们是报社出版商行业,要根据书籍的状态作一个排序。`state` VARCHAR(10) NULL DEFAULT '0000' COMMENT ' 资源状态1已下架 2三审拒绝 3三审通过 4二审拒绝 5二审通过 6一审拒绝 7一审通过 8待审核实际对应的代码:
待审核 0000
一审通过 1000
一审拒绝 2000
二审通过 1100
二审拒绝 1200
三审通过 1111
三审拒绝 1120
已下架 1110我们要让排序的结果是这样子降序的
待审核(0000) > 一审通过(1000) > 一审拒绝(2000) > 二审通过(1100) > 二审拒绝(1200) > 三审通过(1111) > 三审拒绝(1120) > 已下架(1100)这些代码是乱序的, 我要如何编写order by语句?
排序字段可以这么写
select Case 审核状态 when 0000 then 0
when 1000 then 1
else ''
end as '起个别名
然后Order by 的时候就按这个字段进行排序就好了,Case里面再把其它的加进去就好