sql >> Database >  >> RDS >> Mysql

verwijder dubbele rijen en moet er één van allemaal in mysql bewaren

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

Nadat u de delete-instructie hebt uitgevoerd, moet u een unieke beperking op de kolom afdwingen, zodat u geen dubbele records opnieuw kunt invoegen,

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


  1. Hoe invoegen in dezelfde tabel in MySQL?

  2. Converteer datum gemaakt door jQuery datepicker naar een standaard mysql dateformat

  3. sql voor het berekenen van punten voor games

  4. SQL-query retourneert gegevens uit meerdere tabellen