bj东方瑞通 发表于 2012-5-31 11:27:30

oracle查询重复数据与删除重复记录方法

比如现在有一人员表 (表名:peosons)    若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来    select p1.*    from persons p1,persons p2    where p1.id<>p2.id    andp1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address   用rowid方法可以实现上述效果。据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:    查数据:    select * from table1 a where rowid !=(select max(rowid)    from table1 b where a.name1=b.name1 and a.name2=b.name2……)    删数据:    deletefrom table1 a where rowid !=(select max(rowid)    from table1 b where a.name1=b.name1 and a.name2=b.name2……)

____王、小贱 发表于 2012-5-31 12:26:28

{:6_290:}{:6_290:}{:6_290:}{:6_290:}{:6_290:}

____王、小贱 发表于 2012-5-31 12:38:02

{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}

____王、小贱 发表于 2012-5-31 12:49:19

{:6_282:}{:6_282:}{:6_282:}

serven 发表于 2012-5-31 14:00:43

good……

biwxr 发表于 2012-6-22 15:32:40

没看完~~~~~~ 先顶,好同志
页: [1]
查看完整版本: oracle查询重复数据与删除重复记录方法