sql - 输出所有重复行(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
但我正在努力构建一个可以做到这一点的查询。
谢谢。
解决方案
我认为这就是你想要的:
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。
推荐阅读
- c# - 这个排序算法有名字吗?
- regex - sed 替换括号序列中的文本(oracle 连接字符串)
- sharepoint - Visual Studio Code,SPGo 错误。这没用
- python - 导入日期时间 - 澄清
- foreach - 使用条件语句将 CMake 单元测试宏压缩为一个宏
- javascript - 如何在 react 中使用 chartkick.js 设置轴标签颜色?
- php - Cloudflare 上的 Laravel 在表单错误时产生 502 Bad Gateway
- python - AttributeError:“Tensor”对象在自定义损失函数中没有属性“numpy”(Tensorflow 2.1.0)
- java - 使用 Try-Catch-Final
- javascript - 为 js 中的请求检索正确的 http 错误