Php 在MySQL中模拟数组_相交
我有一张这样的桌子:Php 在MySQL中模拟数组_相交,php,mysql,arrays,Php,Mysql,Arrays,我有一张这样的桌子: Col1 Col2 word1 872 word1 333 word2 631 word3 982 word3 111 word4 111 word5 631 word6 333 word6 453 我希望收到多个选择的结果,但只接收所有结果中出现的结果。例如,如果我正在搜索SELECT col2 FROM table WHERE col1='word1'和SELECT col2 FROM table WHERE col1='wo
Col1 Col2
word1 872
word1 333
word2 631
word3 982
word3 111
word4 111
word5 631
word6 333
word6 453
我希望收到多个选择的结果,但只接收所有结果中出现的结果。例如,如果我正在搜索SELECT col2 FROM table WHERE col1='word1'
和SELECT col2 FROM table WHERE col1='word6'
,我希望将这两条语句连接在一起,形成一条MySQL语句,该语句只返回上述两个示例查询中出现的结果。(与数组_intersect在PHP中的工作原理相同。)
我需要一个单独的查询,可以对任意数量的col1单词执行此操作
对不起,如果我没有解释清楚的话。这很难解释。解决此问题的最佳方法是使用聚合:
select col2
from t
group by col2
having max(col1 = 'word1') = 1 and
max(col1 = 'word2') = 1
这很容易推广到更多的单词。请参阅以了解如何在MySQL中实现“相交”。