OR序列

时间:2015-07-27 14:40:39

标签: mysql

我有MYSQL查询:

SELECT * FROM  user WHERE name LIKE '%ana%' 
OR name LIKE '%adam%' 
OR name LIKE '%pit%'

是否可以通过OR序列订购结果

我的意思是首先显示名称为LIKE '%ana%'的结果 名称LIKE '%adam%' as second 名称LIKE '%pit%' as third

2 个答案:

答案 0 :(得分:2)

首先,对IN子句使用where(你没有通配符,所以这实际上更有效率):

where name in ('ana', 'adam', 'pit')

其次,使用find_in_set()进行排序:

order by find_in_set(name, 'ana', 'adam', 'pit')

答案 1 :(得分:0)

你可以做点什么

order by if(name like 'ana', 1, if(name like 'adam', 2, 3))