【发布时间】:2017-07-13 05:19:28
【问题描述】:
我有一个这样的 mysql 查询。
SELECT item FROM items WHERE catid=3 AND tag LIKE '%".$tag[1]."%' OR tag LIKE '%".$tag[2]"%' LIMIT 4
我如何告诉 mysql 首先搜索具有tag LIKE '%".$tag[1]."%' 的项目,然后再继续搜索过程以查找具有tag LIKE '%".$tag[2]."%' 的项目。因为现在看起来mysql随机选择执行什么条件。有时它会显示 4 个结果都匹配 tag LIKE '%".$tag[2]."%',这是我不想要的。我希望mysql首先优先考虑tag LIKE '%".$tag[1]."%'。
【问题讨论】:
-
这是一个不清楚的问题,请您解释一下以便更好地理解。
-
@Mr.Developer 我想告诉 Mysql 在尝试查找具有
tag LIKE '%tag2%'条件的项目之前先查找具有tag LIKE '%tag1'条件的项目。是否可以使用 mysql 查询来做到这一点,或者我需要从 php 中做到这一点? -
LIKE是布尔运算符,它可以是TRUE或FALSE(或NULL) - 它不能是< 4。请澄清您的问题。 -
您的意思是从结果集中的数据源中获取 tag1 的前 3 个(或 1 或 2 个,如果少于 3 个)结果和来自 tag2 的其余结果?
-
@Mr.Developer P.Salmon 我已经完善了这个问题。请看一看。谢谢大家!