Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

xóa các hàng trùng lặp và cần giữ một hàng khỏi tất cả chúng trong 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

Sau khi bạn đã thực hiện câu lệnh xóa, hãy thực thi một ràng buộc duy nhất trên cột để bạn không thể chèn lại các bản ghi trùng lặp,

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. Làm cách nào để nối hai bảng trên nhiều cột trong CakePHP 3?

  2. MySQL - buộc không sử dụng bộ đệm để kiểm tra tốc độ truy vấn

  3. mysql - Cách xử lý tìm kiếm truy vấn với các ký tự đặc biệt / (dấu gạch chéo lên) và \ (dấu gạch chéo ngược)

  4. Làm cách nào để chèn thông báo e-mail đến vào cơ sở dữ liệu mySQL?

  5. Thực hành / hướng dẫn tồn tại để tạo bảng không chuẩn hóa trong quá trình chuẩn hóa?