Heim  >  Artikel  >  Backend-Entwicklung  >  or的2句SQL的ike怎么按like的先后排列数据?

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

WBOY
WBOYOriginal
2016-06-23 14:05:301038Durchsuche

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  

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn