0,1,0)">
当前位置:Gxlcms > PHP教程 > or的2句SQL的ike怎么按like的先后排列数据?

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

时间:2021-07-01 10:21:17 帮助过:23人阅读

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

人气教程排行