您好,欢迎访问一九零五行业门户网

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

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
其它类似信息

推荐信息