如何在mysql

时间:2015-05-05 07:37:13

标签: mysql sql database select

我想知道如何在一个查询中为MySQL中的某些选项设置优先级。让我澄清一下:

例如,我想在我的数据库中搜索 apple ,如果返回少于4条记录,则搜索橙色,如果苹果和橙色搜索的总和小于4搜索草莓

如下所示

select * from Mytable  where Myculomn like "%apple%"

如果返回少于4条记录,这次搜索橙色并按照我的解释继续进行。最好按优先顺序排序:先从苹果中取出搜索结果,然后再将该搜索结果输入......

我在mysql中知道uninon但是在这个场合它的功能对我来说很模糊。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用条件顺序来获得符合条件的4行

select * 
from Mytable  
where Myculomn like "%apple%"
  OR Myculomn like "%orange%"
  OR Myculomn like "%strawberry%"
ORDER BY CASE WHEN Myculomn like "%apple%" THEN 1
    WHEN Myculomn like "%orange%" THEN 2
    WHEN Myculomn like "%strawberry%" THEN 3
    ELSE 4 END ASC
    LIMIT 4