首页 > 解决方案 > 输出所有重复行(SQL Server)

问题描述

我有一个表,其中包含我认为重复的行。这些记录中的值可能不完全相同,但通过模糊逻辑计算出它们可能是重复的。例如:

RecordCD    key_in  key_out
---------------------------
1           1       2
2           2       2
3           3       3
4           4       6
5           5       5
6           6       6
7           7       7
8           8       11
9           9       9
10          10      10
11          11      11

key_in列具有记录的唯一 ID。

key_out如果不等于,列可能有重复项key_in

我需要我的输出看起来像这样并列出所有可能的重复项:

RecordCD    key_in  key_out
---------------------------
1           1       2
2           2       2
4           4       6
6           6       6
8           8       11
11          11      11  

但我正在努力构建一个可以做到这一点的查询。

谢谢。

标签: sqlsql-servertsql

解决方案


我认为这就是你想要的:

select t.*
from t
where exists (select 1
              from t t2
              where t2.key_out = t.key_out and t2.key_in <> t.key_in
             )
order by t.key_out;

是一个 db<>fiddle。


推荐阅读