sql >> データベース >  >> RDS >> Mysql

重複する行を削除し、mysql内のすべての行から1つを保持する必要があります

    DELETE  a
    FROM    tableA a
            LEFT JOIN
            (
                SELECT MIN(ID) ID, Name, Phone
                FROM    TableA
                GROUP   BY Name, Phone
            ) b ON  a.ID = b.ID AND
                    a.NAme = b.Name AND
                    a.Phone = b.Phone
    WHERE   b.ID IS NULL
    

    削除ステートメントを実行した後、重複するレコードを再度挿入できないように、列に一意の制約を適用します。

    ALTER TABLE TableA ADD CONSTRAINT tb_uq UNIQUE (Name, Phone)
    


    1. LAravel 5は、OR条件をBETWEENで使用します

    2. IPV6とIPV4をMySqlに保存し、それを読みます

    3. 多対多の関係を持つ複数のテーブルでのJPAクエリ

    4. 2つ以上のフィールドからの最大値