如何在MySQL中查找重复的值对?

要在MySQL中查找重复的值对,请使用GROUP BY HAVING子句。

让我们首先创建一个表-

mysql> create table DemoTable748 (Id int, FirstName varchar(100));

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable748 values(100,'John');
mysql> insert into DemoTable748 values(100,'Sam');
mysql> insert into DemoTable748 values(200,'Carol');
mysql> insert into DemoTable748 values(200,'Carol');
mysql> insert into DemoTable748 values(300,'Mike');
mysql> insert into DemoTable748 values(300,'Sam');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable748;

这将产生以下输出-

+------+-----------+
| Id   | FirstName |
+------+-----------+
|  100 | John      |
|  100 | Sam       |
|  200 | Carol     |
|  200 | Carol     |
|  300 | Mike      |
|  300 | Sam       |
+------+-----------+
6 rows in set (0.00 sec)

以下是在MySQL中查找重复值对的查询-

mysql> select Id from DemoTable748
   group by Id,FirstName having count(*)=2;

这将产生以下输出。由于Id和FirstName的唯一重复值对为200,因此输出显示相同的内容-

+------+
| Id   |
+------+
| 200  | 
+------+
1 row in set (0.00 sec)