mysql - mySQL - 有效地检查表中的重复项
问题描述
我有一个表“人”,其中(为简单起见)每个人都有一个 ID,这个 ID 不是唯一的,所以两个条目可以有相同的 ID。我现在想找到我会这样做的所有重复项:
SELECT p1.Name, p2.Name
FROM Person p1 JOIN Person p2 ON p1.ID = p2.ID
示例数据将是这样的:
NAME ID
A 1
B 2
C 1
D 3
E 2
F 1
D 3
结果应该是:
A,C
A,F
B,E
C,F
D,D
但我只想将条目 A 与所有其他条目进行比较,然后将 B 与除 A 之外的所有其他条目进行比较,等等。我该怎么做?
解决方案
我认为你想要:
SELECT p1.Name, p2.Name
FROM Person p1
JOIN Person p2 ON p1.ID = p2.ID AND p1.Name < p2.Name
推荐阅读
- docker - AWS ElasticBeanstalk 多容器 - docker run “--pid=host” 选项
- multithreading - 我的要求是从单个程序运行多个可执行文件
- torque - PBS/Torque 测试脚本未成功运行
- php - 在 Codeigniter 中更新数组查询
- string - Python为字符串列表保存单个项目循环
- php - Wordpress ajax 仅在包含类别帖子的页面上重复
- python-3.x - 'int' 对象在 lambda 函数内不可订阅
- java - 或者查询不支持spring数据dynamodb
- css - SVG 背景图像顶部有奇怪的线条
- scala - 在播放框架中为复选框动态生成标签