mysq 删除重复内容

admin 2016-11-20 2226

-- 删除多余的重复记录(多个字段),只保留最小id的记录

DELETE FROM ucms_article WHERE id IN (

    SELECT * FROM (

        SELECT id FROM ucms_article WHERE (title) -- 注意:此处一定要加括号,当成联合字段来处理

        IN (

            -- 查找学号和姓名均重复的学生信息

            SELECT title FROM ucms_article GROUP BY title HAVING COUNT(1) > 1

        ) AND id NOT IN (

            -- 查询最小id的记录

            SELECT MIN(id) FROM ucms_article GROUP BY title HAVING COUNT(1) > 1

        )

    ) AS stu_repeat_copy

    

);


欢迎联系本站长QQ:3216572
最新回复 (4)
  • admin 2019-10-20
    2
    delete from ucms_article where Id not in (
           select t.min_id from (
                   select min(Id) as min_id from ucms_article group by title
                   ) as t
           );
  • admin 2019-10-20
    3
    delete p1 from 
           Person as p1,Person as p2 
                   where p1.Email=p2.Email and p1.Id > p2.Id;
  • admin 2019-10-20
    4
    第一个会超时,第二个1w数据 3秒完成,第三个还没有测试!
  • admin 2021-3-18
    5
    ALTER TABLE `article_template_article` ADD unique(`title`);  设置 标题唯一
返回