我想知道如何在一个查询中为MySQL中的某些选择设置优先级。让我澄清一下:
例如,我想在“我的数据库”中搜索apple,如果返回的记录少于4条,则搜索orange,如果apple和orange的总和小于4,则搜索Strawberry。
像下面
select * from Mytable where Myculomn like "%apple%"
如果这次返回的记录少于4条,则搜索橙色并按照我的说明进行操作。最好按高优先级对其进行排序:首先将来自苹果的搜索结果放到苹果中,然后再将其排序并...
我知道mysql中的
uninon
,但是在这种情况下它的功能对我来说还是很模糊的。提前谢谢你的帮助。
最佳答案
您可以使用条件顺序来获得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