达梦数据库中如何删除重复数据

数据库运维环境中有时会出现需删除表中重复数据的情况,比如说,导入时重复导入了,这时候我们怎么办?如何删除重复的数据,保证数据的正确性和完整性?

测试

1、创建一张测试表test

SQL>create table test(id int,name varchar(50));

2、手动在表test中添加重复记录

insert into test values(1,'aaa');
insert into test values(1,'aaa');
insert into test values(2,'bbb');
insert into test values(2,'bbb');
insert into test values(3,'ccc');
insert into test values(3,'ccc');
insert into test values(4,'ddd');
commit;
select * from test;

达梦数据库中如何删除重复数据_第1张图片

3、使用简单的sql语句删除重复记录多余部分只保留一条

delete from test a
where
    (a.id,a.name) in(select id,name from test group by id,name having count(*) > 1)
    and rowid not in (select min(rowid) from test group by id,name having count(*)>1);
commit;

达梦数据库中如何删除重复数据_第2张图片
执行完成commit提交一下。然后看看test表里面的重复数据是不是都删除了
达梦数据库中如何删除重复数据_第3张图片

你可能感兴趣的:(达梦数据库)