操作的表名:insurance.tj_vs_price

 

操作步骤
 

一、重复记录根据单个字段来判断
 

1、首先,查找表中多余的重复记录,重复记录是根据单个字段(item_code )来判断

 

select * from insurance.tj_vs_price where item_code in(select item_code from insurance.tj_vs_price group by item_code having count(item_code ) >1)

 

2、删除表中多余的重复记录,重复记录是根据单个字段(item_code )来判断,只留有rowid最小的记录

 

delete from  insurance.tj_vs_price  where (item_code ) in (select item_code from  insurance.tj_vs_price group by item_code having count(item_code ) >1) and rowid not in (select min(rowid) from  insurance.tj_vs_price group by item_code having count(*)>1)

 

 

二、重复记录根据多个字段来判断
 

1、查找表中多余的重复记录(多个字段)

 

select * from insurance.tj_vs_price a where (a.item_code ,a.item_spec) in(select item_code ,item_spec from insurance.tj_vs_price group by item_code ,item_spechaving count(*) > 1)

 

 

2、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

 

delete from insurance.tj_vs_price a where (a.item_code ,a.item_spec ) in (select item_code ,item_spec from insurance.tj_vs_pricegroup by item_code ,item_spechaving count(*) > 1) and rowid not in (select min(rowid) from insurance.tj_vs_pricegroup by item_code ,item_spec having count(*)>1)

 

 

3、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

 

select * from insurance.tj_vs_price a where (a.item_code ,a.item_spec ) in (select item_code ,item_spec from insurance.tj_vs_price group by item_code ,item_spec having count(*) > 1) and rowid not in (select min(rowid) from insurance.tj_vs_price group by item_code ,item_spec having count(*)>1)

posted on 2020-09-23 13:30  江湖小虾米L  阅读(305)  评论(0编辑  收藏  举报