Mysql
 sql >> база данни >  >> RDS >> Mysql

изтрийте дублиращи се редове и трябва да запазите един от всички тях в 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

След като изпълните оператора delete, наложете уникално ограничение върху колоната, така че да не можете да вмъквате дублиращи се записи отново,

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. Посочената парола за потребителски акаунт „root“ не е валидна или не успя да се свърже със сървъра на базата данни

  2. Защо да поставяте идентификационните данни на MySQL извън www директорията?

  3. mysql utf8mb4_unicode_ci причинява уникален сблъсък на ключове

  4. Защита на паролата за MySQL при разработка в Python?

  5. Как да коригирам често срещани проблеми с MySQL база данни?