繁体   English   中英

SQL 只查找出现多次的记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM