MySQL中的SQL排序

| 我有一个MySQL选择陈述,并希望将其合并为一个查询。
 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%\"
    
已邀请:
一种解决方案是将结果加2并为每个查询添加一个假3字段。
SELECT   1 as OrderBy, *
FROM     users
WHERE    description = \"query\"
UNION ALL
SELECT   2 as OrderBy, *
FROM     users
WHERE    description = \"%query%\"
...
ORDER BY
         OrderBy
    
我认为以下将产生您需要的结果
select * from users 
where description like \"%query%\" 
  or description like \"%q1%\" 
  or description like \"%q2%\"
    

要回复问题请先登录注册