要在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)