我有一个MySQL select语句,想把它变成一个查询。
select * from users where...
where子句有四个部分,需要以这种方式排序:
1. where description = "query"
2. where description = "%query%"
3. where description = "q1" or description = "q2"
4. where description = "%q1%" or description = "%q2%"
答案 0 :(得分:2)
一种解决方案是UNION
结果,并为每个查询添加一个假的OrderBy
字段。
SELECT 1 as OrderBy, *
FROM users
WHERE description = "query"
UNION ALL
SELECT 2 as OrderBy, *
FROM users
WHERE description = "%query%"
...
ORDER BY
OrderBy
答案 1 :(得分:0)
我认为以下内容将产生您需要的结果
select * from users
where description like "%query%"
or description like "%q1%"
or description like "%q2%"