通过sql找到一张表里有那些字段重复,并且删除重复的数据留id最小的一条 ,使用语法in循环删除,删除id在某个区间的数据

  • 找到pms_product表中out_product_id字段重复的
select out_product_id,count(*) as count from pms_product group by out_product_id having count>1;
  • 找到pms_product表中out_product_id字段重复的并删除重复的数据留id最小的一个值
DELETE FROM pms_product 
WHERE
    id NOT IN (SELECT 
        dt.minno
    FROM
        (SELECT 
            MIN(id) AS minno
        FROM
            pms_product
        GROUP BY out_product_id) dt);

使用语法in循环删除

DELETE  FROM pms_product WHERE id IN(57840,
57842)

删除id在某个区间的数据
delete from pms_product where id>=57319 AND id<=6000

猜你喜欢

转载自blog.csdn.net/weixin_45528650/article/details/110393207