《工具箱-数据库相关》Dbeaver高级复制功能解决“少量数据完全重复“
Posted DATA数据猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《工具箱-数据库相关》Dbeaver高级复制功能解决“少量数据完全重复“相关的知识,希望对你有一定的参考价值。
Dbeaver高级复制功能解决"少量数据完全重复"
一、问题对照
在数据处理中,是否会遇到如下情况,没有主键,数据完全一致
下面采用SQL去重方法,以及通过Dbeaver的高级复制功能实现删除重复数据
select *
from zxy;
二、去重
通过SQL去重语句,排查出重复数据数据
select id,name,testtime
from zxy
group by id,name,testtime
having count(*) > 1;
三、Dbeaver高级复制
点小方框处,待选中所有数据后
单击鼠标右键,弹出选择框
鼠标移动至高级复制处,再选择右边Copy as SQL
INSERT INTO `select id,name,testtime
from zxy
group by id,name,testtime
having count(*) > 1` (id,name,testtime) VALUES
(1,'zxy','2023-03-10'),
(2,'zxy','2023-03-11');
四、删除重复数据
delete from zxy
where id in (
select id
from (
select id,name,testtime
from zxy
group by id,name,testtime
having count(*) > 1
) t
)
五、恢复数据
因为在Copy as SQL
时,查询的数据结果是根据SQL去重语句
查出的,所以在生成插入语句的时候,还是往这个SQL去重语句
中插入,这明细是不对的,所以将这部分修改为表名即可。
- 修改前
INSERT INTO `select id,name,testtime
from zxy
group by id,name,testtime
having count(*) > 1` (id,name,testtime) VALUES
(1,'zxy','2023-03-10'),
(2,'zxy','2023-03-11');
- 修改后
INSERT INTO zxy (id,name,testtime) VALUES
(1,'zxy','2023-03-10'),
(2,'zxy','2023-03-11');
五、查看数据
- 可以看到已经是去重后的数据
- 查询重复语句已经查询不到
以上是关于《工具箱-数据库相关》Dbeaver高级复制功能解决“少量数据完全重复“的主要内容,如果未能解决你的问题,请参考以下文章