select ID,name from t1 where name like'%重庆%' or name like'%沙坪坝%' or name like'%中国%' order by case when charindex('重庆',name) > 0 then 0 when charindex('沙坪坝',name) > 0 then 1 when charindex('中国',name) > 0 then 2 else 3 end
select ID,name from t1 where name like'%重庆%' or name like'%沙坪坝%' or name like'%中国%' order by case when charindex('重庆',name) > 0 then 1 else 0 end + case when charindex('沙坪坝',name) > 0 then 1 else 0 end + case when charindex('中国',name) > 0 then 1 else 0 end desc
from t1
where name like'%重庆%' or name like'%沙坪坝%' or name like'%中国%'
order by case when charindex('重庆',name) > 0 then 0
when charindex('沙坪坝',name) > 0 then 1
when charindex('中国',name) > 0 then 2 else 3 end
能实现吗??该怎么做?
但是,不能完全实现我要的结果。。
能有更好点的办法吗
from t1
where name like'%重庆%' or name like'%沙坪坝%' or name like'%中国%'
order by case when charindex('重庆',name) > 0 then 1 else 0 end +
case when charindex('沙坪坝',name) > 0 then 1 else 0 end +
case when charindex('中国',name) > 0 then 1 else 0 end desc