[英]SQL find only records that appear more than once
我试图只选择出现多次的记录。
这是我的表,我想提取具有相同 C 列的记录。
A B C D
1 | 29-005628 | 100 TIMS CREEK RD | WD66
2 | 29-005631 | 100 TIMS CREEK RD | WT70
3 | 29-005635 | 5300 HIDDEN MANOR CT | WT89
4 | 29-005638 | 600 LINDLEY CRESCENT AV | WT30
5 | 29-005639 | 100 TIMS CREEK RD | WT89
6 | 29-003238 | 501 PARK VIEW AV | WT60
7 | 29-009104 | 501 PARK VIEW AV | WT80
期望输出:
A B C D
1 | 29-005628 | 100 TIMS CREEK RD | WT66
2 | 29-005631 | 100 TIMS CREEK RD | WT70
3 | 29-005639 | 100 TIMS CREEK RD | WT89
4 | 29-003238 | 501 PARK VIEW AV | WT60
5 | 29-009104 | 501 PARK VIEW AV | WT80
任何有关查询的帮助将不胜感激!
一个简单的方法使用exists
:
select t.*
from t
where exists (select 1 from t t2 where t2.c = t.c and t2.a <> t.a);
你可以试试下面的——
select * from tablename
where c in (select c from tablename group by c having count(c)>1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.