查询数据表中重复的数据

在测试过程中,数据表可能会出现非主键字段的重复数据。本文介绍如何使用简单的SQL语句来查找并定位这些重复信息。对于单个字段ID1的重复,可以使用特定的SQL查询;若要检查两个字段ID1和ID2的重复,也有相应的查询方法。这些字段并非主键,但通过特定查询能有效识别重复项。

    在测试中,经常会对程序中某一功能进行反复的测试,进而导致数据表中产生了除主键以外的重复数据。我们如何找出这些重复的数据呢?

    其实可以用很简单SQL语句将其查询出来。如果想查询数据表中某一个字段重复(这里假设这个字段名是ID1),可以使用以下SQL语句。

select Table1.* from Table1 right join (
select ID1 From Table1 Group by ID1 having Count(ID1) > 1 ) T on Table1.id1 = T.id1

    如果想查询数据表某两个字段重复,则可以使用如下语句查询。

select Table1.* 
from Table1 right join (
select ID1, ID2 From Table1 Group by ID1, ID2 having Count(ID1) > 1 and Count(ID2) > 1 ) T 
on Table1.id1 = T.id1 and Table1.id2 = T.id2

 注:上面代码中出现的ID1和ID2字段均不是数据表主键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值