原來的表有三個不是唯一的列,其中值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