原来的表有三个不是唯一的列,其中值id单独的数据按组:选择基于列的值唯一行
id name flag
----------------------------
1 Andrey 0
1 Andrey 1
1 Olga 0
1 Sasha 0
2 Masha 1
2 Masha 0
2 Katya 1
2 Vera 0
在这里,我们有两组人,其中每个组有相等的两行名。我想编写一个select statemets,它重复带有标志0的名称行,当且仅当该确切名称在同一组中具有1个标志时。
因此,该数据预期的结果应该是:
id name flag
----------------------------
1 Andrey 1
2 Masha 1
因为安德烈和玛莎是重复的,他们有0标志了。
我试图选择这些值是使用查询像以下:
select * from names
where flag = 1 and id in
(select id from names where flag = 0)
但它返回卡佳排过,什么是相应稳固。
请标记您的数据库以及 –
如果玛莎有一个ID = 2,和一个id = 5?还是回到玛莎? – jarlh
@jarlh - 如果我们有两个具有id 2和id 5的Masha实例,我们不需要返回它,因为这些实例位于不同的组中(id是组的索引)。 – syscreat