本机SQL,通用重复条目检索

时间:2012-09-28 14:15:38

标签: sql

我的表格T包含字段f1f2f3

我想检索属于具有重复f1f2字段的行的每个f3。怎么办呢?

编辑:

例如:

(1,2,3) 
(2,2,3) 
(4,1,1) 
(2,2,2) 
(3,4,3) 
(1,5,6)

预期结果为:

(1)
(2)

2 个答案:

答案 0 :(得分:1)

试试这个

select f1 from T group by (f1) having (count(f2) > 1 and count(f3) > 1)

答案 1 :(得分:0)

这将返回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。