实际应用中sql提供的默认按某一字段排序,asc、desc并不满足需要,需要根据用户需求自定义的按照默写顺序排序,这里提供一个方法,适用于自定义类型不多的情况下,多了就得存字段关联表排序了吧。
例子如下:
select * from
(
select 3 as id,'小明' as name from dual
union
select 1,'小王' from dual
union
select 2,'小张' from dual
) a
ORDER BY
case
when name like '%小明%' then 3
when name like '%小王%' then 2
when name like '%小张%' then 1
end
通过order by 中的case when 就可以实现自定义排序。