如何显示重复条目的行?

时间:2014-03-25 04:01:27

标签: mysql sql sql-server

我想只获取列newcons中包含重复条目的行。在结果中,我想要显示整个行recnooldcons,并且应该出现newCons。我可以使用什么SQL查询来执行此操作?

这是我的表:

RecNo OldB  OldCons    NewCons
1   01      0145501     0008000
2   01      0253801     0107400
3   01      0271200     0000500
4   01      0271201     0012000
5   01      0271202     0000200
6   01      0271300     0000800
7   01      0271301     0001100
8   01      0271302     0002000
9   01      0271303     0001000
10  01      0271304     0001000

这个结果应该出现:

RecNo   OldBch  OldSdiv OldCons NewSdiv NewCons
9       01      14433   0271303 14433   0001000
10      01      14433   0271304 14433   0001000

我该怎么做?

1 个答案:

答案 0 :(得分:2)

此查询将为每个副本提供一行:

select * from tbl a join tbl b on a.newcons = b.newcons and a.recno > b.recno

要查找重复的NewCons值:

select newcons from tbl group by newcons having count(*) > 1

现在,只需将其嵌入常规SELECT

select * from tbl where newcons in (select newcons from tbl group by newcons having count(*) > 1)