我有一个带有字段的表f1
Tf2
和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
Tf2
和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。