mySQL - 有效地检查表中的重复项

标签 mysql sql join select duplicates

我有一个表“people”,其中(为简单起见)每个人都有一个 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

关于mySQL - 有效地检查表中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61592036/

相关文章:

mysql - 我可以使用连接查询来执行此操作吗?

mysql - 如何加入我的结果集和第三个表?

php - 我应该转义值两次吗?

MySQL 重复键更新的替代方案

mysql - SQL:返回具有匹配百分比计算列的用户表?

mysql - 存储过程语法

mysql - postgresql查询到mysql

mysql - Magento 在安装脚本中包含 .sql 文件

C# 如何从 MySQL 数据库 Wampserver 读取数据

mysql - 使用 Group By 连接 2 个表