Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

hapus baris duplikat dan perlu menyimpan satu dari semuanya di 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

Setelah Anda menjalankan pernyataan hapus, terapkan batasan unik pada kolom sehingga Anda tidak dapat menyisipkan rekaman duplikat lagi,

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. Menjelajahi Server MySQL Binlog – Ripple

  2. Cara:Membersihkan mesin penyimpanan InnoDB mysql?

  3. Bagaimana cara melewatkan nilai baris saat ini dalam modal?

  4. Bagaimana cara mematikan validasi kata sandi mysql?

  5. Bagaimana mengatasi kesalahan MySQL Anda tidak dapat menentukan tabel target X untuk pembaruan dalam klausa FROM?