sql中怎么删除两条重复记录并保留一条 10
这个我也想着是用选出disTINCT的记录然后删除原表中的重复记录再导入但是我这个表中重复的记录有45000多条运行了一晚上都没导出来有什么效率高的方法么?...
这个我也想着是用选出disTINCT的记录 然后删除原表中的重复记录再导入 但是我这个表中重复的记录有45000多条 运行了一晚上都没导出来 有什么效率高的方法么?
展开
展开全部
将数据去重复后暂存到临时表#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)-百度百科
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,在表里加一个自增长的字段,假设取名为ID,这样每条记录就有了唯一标识ID了,
然后,使用 GROUP BY 的方式,取出重复记录的大的ID或是最小的ID,删除这个取出来的ID值的记录,就可以了。
然后,使用 GROUP BY 的方式,取出重复记录的大的ID或是最小的ID,删除这个取出来的ID值的记录,就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用TOP 一点一点删除。 如果一次删除太多会写入SQL日志 影响效率
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
记录虽然重复。但是肯定有不重复的信息字段A 以这个信息字段A作为标识。
用重复的关键信息查找与A匹配的第一条数据的A。A以外的数据就可以删除。也可以查找重复字段记录Count》1的作为条件去找。
用重复的关键信息查找与A匹配的第一条数据的A。A以外的数据就可以删除。也可以查找重复字段记录Count》1的作为条件去找。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询