简书链接:sqlserver自定义排序的可行性
文章字数:467,阅读全文大约需要1分钟
经过我的组词描述然后进行百度搜索果然是可以随意自定义排序的,不是非得order by 固定字段

之所以有这个需求,是因为查询的时候需要按固定工序进行流程作业,之前后端那边是写死的,然后根据此一个一个查询对应的id显得多此一举,但是我这个一次性查的排序问题困扰了我,不过我认为可能sql有这样的自定义排序功能所以进行了百度果然。。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14

select * from XXX
order by case
when A.NAME='你' then 1
when A.NAME='方法烦' then 2
when NAME='付费烦烦' then 3
when A.NAME='飞飞飞烦入' then 4
when A.NAME='非法' then 5
when A.NAME='不不不入' then 6
when A.NAME='方法入' then 7
when CHARINDEX('B',WH_Desc,0)>0 then 8 --查找是否包含B包含返回大于0
when CHARINDEX('A',WH_Desc,0)>0 then 9
else 100+rand()
end

只要该表name包含了这几个,那么排序永远是最前面,
then 1排老大