Maison  >  Article  >  développement back-end  >  or的2句SQL的ike怎么按like的先后排列数据?

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

WBOY
WBOYoriginal
2016-06-23 14:05:301038parcourir

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  

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn