有没有一种方法可以在一个列中获得重复的值,而在另一个列中有特定的值?

hpxqektj  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(328)

这个问题在这里已经有答案了

在不同的行上选择满足不同条件的值(6个答案)
10个月前关门了。
我有这样一个sql表:

TABLE: Info

ID      |   JOB    |  Value
--------|----------|------------------
1       |   leader |  3
2       |   Host   |  212
1       |   User   | 4
2       |   leader |  5
2       |   Host   |  4

我试图从value列中获取重复id必须包含3和4的行。我当前正在使用此查询:

select * from info where value = 3 and 4
   group by id having count(*) > 1;

使用此查询的结果

ID     |   JOB    |  Value
--------|----------|------------------
null    |   null   |  null

而我的预期结果应该是:

ID      |   JOB    |  Value
--------|----------|------------------
1       |   leader |  3
1       |   User   | 4

请帮帮我,我不知道我做错了什么

odopli94

odopli941#

你的预期结果样本与你的问题描述不一致。。值3,4的重复行是使用

select id
from info
where value in  (3,4)
group by id 
having count(id)>1

然后

select  * 
from  info 
inner join  (
    select id
    from info
    where value in  (3,4)
    group by id 
    having count(id)>1
) t on t.id = info.id

相关问题