在SQL中怎么删除两个表中相同的数据

在SQL中怎么删除两个表中相同的数据,第1张

1,首先创建一个表,并在表中插入重复的记录,如下图所示

2,插入好以后就看见表中已经有重复的数据了,如下图所示。

3,接下来在删除之前我们记得一定先备份,如下图所示。

4,然后排除重复的记录可以通过distinct字段设置,如下图所示,然后将去重的数据插入到新表中。

5,接着看到数据表下面多出来一个刚建的新表,如下图所示。

6,最后打开新表,就可以看到重复的数据都没有了,如下图所示。

sql中删除一个表中的重复记录可以采用如下步骤:

1、把a_dist表的记录用distinct去重,结果放到临时表中。

select  distinct * into #temp from a_dist

2、把a_dist表的记录全部删除。

delete  from a_dist

3、把临时表中的数据信息导进到a_dist表中,并删除临时表。

insert  into a_dist select * from #temp

drop table #temp

扩展资料:

SQL (结构化查询语言)是用于执行查询的语法。在数据库上执行的大部分工作都由 SQL 语句完成。SQL 语言包含用于更新、插入和删除记录的语法。

增删改查指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

INSERT INTO - 向数据库表中插入数据

这个简单,凡是重复的保留一个就可以了,是这个意思吧。

那么就是 select min(id) from table group by title这样的就能查出来每个title的最小的id,就算有重复的,也能显示出来最小的id,如果没有重复,那么这条语句也会得到唯一的id

然后where id not in(上面的语句)

这样就可以找到所有的不在上面语句朝招范围内的语句,比如id为2732,2733,2734这三条,那么上面的语句查出来的id就是2732,下面这个not in能查出来的就是2733和2734,然后再用delete删除就可以了。

当然min(id)也可以用max(id)效果是一样的,只是保留的id变成了2734

不过这里有一个问题,那就是title字段重复,整个行都重复吗?如果能确认整行重复,那么这条语句基本没问题,如果不能确定,那么就还需要再考虑才可以。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10649988.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存