sql >> Databáze >  >> RDS >> Mysql

odstranit duplicitní řádky a je třeba ponechat jeden ze všech v mysql

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

Po provedení příkazu delete uplatněte na sloupec jedinečné omezení, abyste nemohli znovu vkládat duplicitní záznamy,

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


  1. Proč je používání jednotkových testů skvělou investicí do vysoce kvalitní architektury

  2. Přihlaste se do souboru přes PHP nebo se přihlaste do databáze MySQL – co je rychlejší?

  3. Upgrade PostgreSQL 11 na PostgreSQL 13 s TimescaleDB a PostGIS v Linuxu pomocí pg_upgrade

  4. nastavte cestu třídy, abyste se mohli připojit mezi mysql a jdbc