我想知道如何在一个查询中为MySQL中的某些选项设置优先级。让我澄清一下:
例如,我想在我的数据库中搜索 apple ,如果返回少于4条记录,则搜索橙色,如果苹果和橙色搜索的总和小于4搜索草莓。
如下所示
select * from Mytable where Myculomn like "%apple%"
如果返回少于4条记录,这次搜索橙色并按照我的解释继续进行。最好按优先顺序排序:先从苹果中取出搜索结果,然后再将该搜索结果输入......
我在mysql中知道uninon
但是在这个场合它的功能对我来说很模糊。
提前感谢您的帮助。
答案 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