Mysql数据模糊查询的结果如何根据查询条件进行排序
mysql数据模糊查询结果模糊查询如何根据查询条件进行排序,譬如
usertable表结构有三个字段uid,username,age
SELECT * FROM usertable WHERE username LIKE '%测%'
查询的结果如下
uidusername age
5安安测 11
9测人人12
10测发34
2测测12
1测试11
3测试试23
4点点测12
如何排序使开头为测字排在前面
[最优解释]
SELECT * FROM usertable WHERE username LIKE '%测%' order by case when username LIKE '测%' then 1 else 0 end desc
[其他解释]
SELECT * FROM usertable WHERE username LIKE '测%'
union all
SELECT * FROM usertable WHERE username LIKE '%测%' and not username LIKE '测%'
[其他解释]
刚才测试了,非常管用,谢谢啦
[其他解释]
感谢你啦,您的方法也是可以的,但是我觉得性能不够好,不过感谢你的回帖谢谢!!