从mysql表中选择记录

时间:2014-08-16 10:00:44

标签: mysql sql

我正在开发一个小型搜索引擎项目,我需要一些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

选择查询应该如何?

3 个答案:

答案 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')