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中实现“相交”。