sql中怎么删除两条重复记录并保留一条 10

这个我也想着是用选出disTINCT的记录然后删除原表中的重复记录再导入但是我这个表中重复的记录有45000多条运行了一晚上都没导出来有什么效率高的方法么?... 这个我也想着是用选出disTINCT的记录 然后删除原表中的重复记录再导入 但是我这个表中重复的记录有45000多条 运行了一晚上都没导出来 有什么效率高的方法么? 展开
 我来答
大野瘦子
高粉答主

推荐于2019-11-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:32.3万
展开全部

将数据去重复后暂存到临时表#a中

select distinct * into #a from table1 where 条件 

delete table1 where 删除限制条件

insert into table1 select * from #a -将暂存的数据插回数据库

drop table #a -删除临时表

注:当前的数据库,每一个表都应该有一个标志字段,以保证记录不完全重复,否则实用中极易出问题。

扩展资料:

SQL语句删除掉重复的其他情况

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

SELECT

*

FROM

people

WHERE

peopleId IN (

SELECT

peopleId

FROM

people

GROUP BY

peopleId

HAVING

count(peopleId) > 1

)

2、查找表中多余的重复记录(多个字段)

SELECT

*

FROM

vitae a

WHERE

(a.peopleId, a.seq) IN (

SELECT

peopleId,

seq

FROM

vitae

GROUP BY

peopleId,

seq

HAVING

count(*) > 1

)

参考资料来源:结构化查询语言(SQL)-百度百科

忘合六8119
高粉答主

2021-01-02 · 说的都是干货,快来关注
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
射手幽灵伊
2013-07-10 · TA获得超过2715个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1920万
展开全部
首先,在表里加一个自增长的字段,假设取名为ID,这样每条记录就有了唯一标识ID了,
然后,使用 GROUP BY 的方式,取出重复记录的大的ID或是最小的ID,删除这个取出来的ID值的记录,就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e4adb4d
2013-07-10 · TA获得超过3434个赞
知道小有建树答主
回答量:987
采纳率:0%
帮助的人:342万
展开全部
用TOP 一点一点删除。 如果一次删除太多会写入SQL日志 影响效率
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanniao007
2013-07-10 · TA获得超过1011个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:433万
展开全部
记录虽然重复。但是肯定有不重复的信息字段A 以这个信息字段A作为标识。
用重复的关键信息查找与A匹配的第一条数据的A。A以外的数据就可以删除。也可以查找重复字段记录Count》1的作为条件去找。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式