f1
フィールド、f2
およびを持つテーブル T がありますf3
。
重複したフィールドとフィールドf1
を持つ行に属するすべてを取得したいと思います。これはどのように行うことができますか?f2
f3
編集 :
のように:
(1,2,3)
(2,2,3)
(4,1,1)
(2,2,2)
(3,4,3)
(1,5,6)
期待される結果:
(1)
(2)
f1
フィールド、f2
およびを持つテーブル T がありますf3
。
重複したフィールドとフィールドf1
を持つ行に属するすべてを取得したいと思います。これはどのように行うことができますか?f2
f3
編集 :
のように:
(1,2,3)
(2,2,3)
(4,1,1)
(2,2,2)
(3,4,3)
(1,5,6)
期待される結果:
(1)
(2)
これを試して
select f1 from T group by (f1) having (count(f2) > 1 and count(f3) > 1)
これにより、f2 値と f3 値が複数の行に表示される行にあるすべての f1 値が返されます。
select T.f1 from T
inner join (select f2,f3 from T group by f2,f3 having count(*) > 1) dups
on t.f2 = dups.f2 and t.f3 = dups.f3;
それでデータがあれば。
f1 f2 f3
-- -- --
1 A b
2 A c
3 A b
4 B b
1と3が返ってきます。