根据其他列从mysql中获取特定记录

时间:2016-07-26 13:47:03

标签: mysql

我的数据库有2列p& f都是整数类型;

表格包含以下条目

p   f
1   5
1   6
2   5
3   6
4   5
4   6

我想用p获取记录,其中f是5& f是6

所以实际上我想要输出为

p
1
4

当我尝试

select p from temp where f=5 or f=6

它给了我所有p的输出

3 个答案:

答案 0 :(得分:1)

p分组,只选择同时拥有f

的群组
select p 
from temp 
where f in (5,6)
group by p
having count(f) = 2

使用having count(f) = 2,您只能获得不仅仅是您正在寻找的f之一的群组。如果您检查3 f,则查询将为select p from temp where f in (5,6,7) group by p having count(f) = 3

答案 1 :(得分:0)

我想你需要DISTINCT

 SELECT DISTINCT p 
 FROM temp 
 WHERE f=5 or f=6

答案 2 :(得分:-1)

试试这个。

select p from temp where f in (5, 6);

希望这会有所帮助