处理数据库重复数据问题

1.删除数据库重复数据,保留id最小的数据  

DELETE FROM c_customer_productWHERE fid IN(SELECT fid FROM(SELECT fid FROM c_customer_productWHERE (fcustomer_id,fproduct_id,fis_delete) IN(SELECT fcustomer_id,fproduct_id,fis_deleteFROM c_customer_product GROUP BY fcustomer_id,fproduct_id,fis_delete HAVING COUNT(*)>1)AND fid NOT IN(SELECT MIN(fid) FROM c_customer_product GROUP BY fcustomer_id,fproduct_id,fis_delete HAVING COUNT(*)>1)) fidresult)

  2.查找某个表中某几条记录完全相同的数据   如 :查询 c_customer表中fdoctor_id,fhospital_id,fis_delete数据一样的记录

SELECT fid FROM(SELECT fid FROM c_customerWHERE (fdoctor_id,fhospital_id,fis_delete) IN(SELECT fdoctor_id,fhospital_id,fis_deleteFROM c_customer GROUP BY fdoctor_id,fhospital_id,fis_delete HAVING COUNT(*)>1)AND fid NOT IN(SELECT MIN(fid) FROM c_customer GROUP BY fdoctor_id,fhospital_id,fis_delete HAVING COUNT(*)>1)) fidresult

 

相关文章