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

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

测试环境:

操作系统:中标麒麟6.0

数据库系统:DM8

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

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

1

我们先来创建一张测试表test

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

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

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;

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

3

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

​​​​​​​​​​​​​​

delete from test awhere    (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;

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

执行完成,我们commit提交一下。然后我们再去看看test表里面的重复数据是不是都删除了呢?

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

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