首页  >  文章  >  后端开发  >  or的2句SQL的ike怎么按like的先后排列数据?

or的2句SQL的ike怎么按like的先后排列数据?

WBOY
WBOY原创
2016-06-23 14:05:301038浏览

name LIKE "%A%" OR time LIKE "%b%"

怎么排完like A的结果 在排 B的结果?


回复讨论(解决方案)

 ...order by if(instr(name,'A') >0,1,0) desc

...order by if(instr(name,'A') >0,1,0) desc
大哥 有全句示例么?这么半句看不懂!

这个半句足够可以理解了
就是说按查找含有'A'的字符串转成0,1,然后根据01排序,含有的就是1,没有含有的就0
最后的排序就是order by if(instr(name,'A') >0,1,0) desc 

这个半句足够可以理解了
就是说按查找含有'A'的字符串转成0,1,然后根据01排序,含有的就是1,没有含有的就0
最后的排序就是order by if(instr(name,'A') >0,1,0) desc

实际我要的排列结果是大概下面的语句,对2括号内的数据顺序排列 , 先排第一个括号内的,在排第2个括号内的。。。。

SELECT *  from cs where (time like ""%a% or name like "%b%" or time like "%e%") or (time like ""%11% or name like "%22%" or time like "%33%")

一样的,用上面的那个语句一样的,结合一下啊,这都不明白么?
order by if(instr(name,'A') >0,1,(if(instr(name,'b') >0,1,(if(instr(name,'e') >0,1,0)))) desc  

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn