数据库中的重复记录,一般都有可能包含垃圾数据,我们必然要处理它。其实处理它无外乎:查询,标记,删除。处理的方法也很多的,用sql语句都可以处理。有时也可以借助临时表。
数据库中的重复记录 ,一般都有可能包含垃圾数据,我们必然要处理它。其实处理它无外乎:查询,标记,删除。处理的方法也很多的,用sql语句都可以处理。有时也可以借助临时表。但是无论知道 几种方法 都不重要,只要会做就行了。即使 茴香豆 的 茴 字有一百种写法。我们还 只是 这样写。
本文要处理的重复数据为,当有我们认为相同的数据的时候,我们认为其中一条是有用的,而对除了这一条之外的其他条数据进行处理。
我习惯用的一种方法是利用 max:
查询这些数据:select PK from myTable a where PK!=
(
select max(PK) from myTable b
where a.Field1=b.Field1 and
a.Field2=b.Field2 and
a.Field3=b.Field3 and
a.Field4=b.Field4 and
)删除这些数据:
delete from myTable a where PK!=
(
select max(PK) from myTable b
where a.Field1=b.Field1 and
a.Field2=b.Field2 and
a.Field3=b.Field3 and
a.Field4=b.Field4 and
)更新这些数据:
update myTable set myName1='Northsnow',myname2='塞北的雪' where PK !=
(
select PK from myTable a where PK!=
(
select max(PK) from myTable b
where a.Field1=b.Field1 and
a.Field2=b.Field2 and
a.Field3=b.Field3 and
a.Field4=b.Field4 and
)
)