单个字段 先分组,判断出重复的数据  取最大或者最小的ID  然后子表关联删除, 手动删除,可多次

DELETE

FROM
t_tableName e
WHERE e.id IN (

SELECT b.id FROM

(SELECT max(id) as ID , SpdManufacturerCode ,COUNT(1) as counts FROM `t_tableName` GROUP BY SpdManufacturerCode HAVING counts>1 )

as b WHERE e.SpdManufacturerCode = b.SpdManufacturerCode AND e.ID =b.ID AND e.SpdId is NOT NULL

)

 

多个字段 就分组遍

DELETE

FROM
t_tableName e
WHERE e.id IN (

SELECT b.id FROM

(SELECT min(id) as ID , supplierid,productagencyid ,COUNT(1) as counts FROM `t_tableName` GROUP BY supplierid,productagencyid HAVING counts>1 )

as b WHERE e.supplierid = b.supplierid AND e.productagencyid = b.productagencyid AND e.ID =b.ID

)

posted on 2022-06-02 12:02  无悔青葱  阅读(232)  评论(0编辑  收藏  举报