mysql 多表 找出重复项_如何检查MySQL表中多列重复项?

要在MySQL中检查重复项,可以使用具有by子句的group。语法如下。select yourColumnName1,yourColumnName2,......N,count(*) as anyVariableName from

yourTableName

group by yourColumnName1,yourColumnName2

having count(*) > 1;

为了理解上述语法,让我们创建一个表。创建表的查询如下。create table DuplicateDemo

-> (

-> StudentId int not null,

-> StudentFirstName varchar(100),

-> StudentLastName varchar(100),

-> Primary Key(StudentId)

-> );

使用insert命令在表中插入一些记录。查询如下。insert into DuplicateDemo values(1,'John','Smith');

insert into DuplicateDemo values(2,'Mike','Jones');

insert into DuplicateDemo values(3,'David','Smith');

insert into DuplicateDemo values(4,'Carol','Taylor');

insert into DuplicateDemo values(5,'David','Smith');

insert into DuplicateDemo values(6,'John','Smith');

insert into DuplicateDemo values(7,'John','Taylor');

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

查询如下-select *from DuplicateDemo;

以下是输出。+-----------+------------------+-----------------+

| StudentId | StudentFirstName | StudentLastName |

+-----------+------------------+-----------------+

| 1         | John             | Smith           |

| 2         | Mike             | Jones           |

| 3         | David            | Smith           |

| 4         | Carol            | Taylor          |

| 5         | David            | Smith           |

| 6         | John             | Smith           |

| 7         | John             | Taylor          |

+-----------+------------------+-----------------+

7 rows in set (0.00 sec)

这是用于检查表中重复项的查询。select StudentFirstName,StudentLastName,count(*) as Total from DuplicateDemo

-> group by StudentFirstName,StudentLastName

-> having count(*) > 1;

以下是输出。+------------------+-----------------+-------+

| StudentFirstName | StudentLastName | Total |

+------------------+-----------------+-------+

| John             | Smith           | 2     |

| David            | Smith           | 2     |

+------------------+-----------------+-------+

2 rows in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值