name LIKE "%A%" OR time LIKE "%b%"怎么排完like A的结果 在排 B的结果?

解决方案 »

  1.   

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

  2.   

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

  3.   


    实际我要的排列结果是大概下面的语句,对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%")
      

  4.   

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