zoukankan      html  css  js  c++  java
  • MySQL删除重复行的方式

    1、-- 删除重复行,且保留最高的id: 因为删除的是a表的中的id小于b表中的。

    DELETE a
    FROM
        contacts a
    INNER JOIN contacts b
    WHERE
        a.id < b.id
    AND a.email = b.email;

    2、-- 删除重复行,且保留最小的id: 因为删除的是a表的中的id大于b表中的。

    DELETE a
    FROM
        contacts a
    INNER JOIN contacts b
    WHERE
        a.id > b.id
    AND a.email = b.email;

    3、第三种删除重复行的方式

    -- step 1、创建一个表
    CREATE TABLE contacts_temp LIKE contacts;
    
    -- step 2、插入contacts中不重复的数据
    INSERT INTO contacts_temp(email) SELECT email FROM contacts GROUP BY email;
    
    -- step 3、删除原表contacts
    DROP TABLE contacts;
    
    -- step 4、将新建的表contacts_temp的名称修改为原表的名称
    ALTER TABLE contacts_temp RENAME TO contacts;
  • 相关阅读:
    Python-环境配置
    Linux操作系统基
    BZOJ 1572 贪心(priority_queue)
    POJ 3040 贪心
    POJ 3039 搜索??? (逼近)
    POJ 2433 枚举
    BZOJ 1571 DP
    BZOJ 1232 Kruskal
    BZOJ 1231 状压DP
    POJ 2430 状压DP
  • 原文地址:https://www.cnblogs.com/yuezc/p/12857956.html
Copyright © 2011-2022 走看看