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

xóa dữ liệu trùng lặp mysql

Bạn có thể tạo một bảng với 1 bản ghi của mỗi bản sao:Sau đó, xóa tất cả các bản ghi trùng lặp khỏi bảng mọi người và sau đó chèn lại các bản ghi trùng lặp.

-- Setup for example
create table people (fname varchar(10), lname varchar(10));

insert into people values ('Bob', 'Newhart');
insert into people values ('Bob', 'Newhart');
insert into people values ('Bill', 'Cosby');
insert into people values ('Jim', 'Gaffigan');
insert into people values ('Jim', 'Gaffigan');
insert into people values ('Adam', 'Sandler');

-- Show table with duplicates
select * from people;

-- Create table with one version of each duplicate record
create table dups as 
    select distinct fname, lname, count(*) 
    from people group by fname, lname 
    having count(*) > 1;

-- Delete all matching duplicate records
delete people from people inner join dups 
on people.fname = dups.fname AND 
   people.lname = dups.lname;

-- Insert single record of each dup back into table
insert into people select fname, lname from dups;

-- Show Fixed table
select * from people;


  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ỗi cú pháp:'dấu phân cách' không phải là đầu vào hợp lệ ở đây

  2. Làm cách nào để lấy tên tất cả các cột cho tất cả các bảng trong MySQL?

  3. ý nghĩa bảo mật của nhóm bảo mật mysql aws thiết lập

  4. Chèn ngày vào MySql bằng c #

  5. Đọc một blob từ MySQL với Java