我正在开发一个小型搜索引擎项目,我需要一些SQL查询帮助。 我的表看起来像这样(例子):
word | docNum
---------------------------
1. blue | 1
2. pen | 2
3. pen | 1
4. green | 1
5. key | 2
6. key | 1
7. car | 1
我想寻找:蓝色,笔,绿色,只有他们的docNum相同的关键字 所以可能的结果是:
word | docNum
---------------------------
1. blue | 1
3. pen | 1
4. green | 1
6. key | 1
选择查询应该如何?
答案 0 :(得分:2)
按docnum
分组,只选择那些您要查找的所有4个单词
select docnum
from your_table
where word in ('blue','pen','green','key')
group by docnum
having count(distinct word) = 4
答案 1 :(得分:0)
对于上述结果,您只需使用此查询:
SELECT * FROM `your_table` WHERE docnum=1 and word IN ('blue','pen','green','key')
答案 2 :(得分:0)
select * from yourTable where docnum = 1 and word not in ('car')