《工具箱-数据库相关》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高级复制功能解决“少量数据完全重复“的主要内容,如果未能解决你的问题,请参考以下文章

我无法在我的 DBeaver 工具中运行 HIVE 功能

猿如意中的DBeaver工具详情介绍

Mac平台上免费通用数据库工具——DBeaver

大数据Hive可视化工具dbeaver

Clickhouse 数据库连接工具——DBeaver

比 Navicat 还要好用功能更强大的工具!