Mysql
 sql >> Baza danych >  >> RDS >> Mysql

usuń zduplikowane wiersze i musisz zachować jeden ze wszystkich w 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 wykonaniu instrukcji delete wymuś ograniczenie unikalności w kolumnie, aby nie można było ponownie wstawić zduplikowanych rekordów,

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oczyszczanie zmiennych PHP, czy nadużywam ich?

  2. Oblicz różnicę między dwiema datami i godzinami

  3. Jak uzyskać wartość z jednej kolumny tabeli, gdy w połączeniu sql istnieją dwie kolumny o tej samej nazwie?

  4. Dynamiczna konwersja ciągu na nazwę kolumny. MySQL

  5. Jak porównać 2 listy i połączyć je w Python/MySQL?