数据库 两条 相同 记录 怎么 删除

数据库的一个表中没有设置主键和约束,里面有2条相同的记录,怎样删除一条保留一条呢?... 数据库的一个表中没有设置主键和约束,里面有2条相同的记录,怎样删除一条保留一条呢? 展开
 我来答
badkano
推荐于2018-03-09 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部
oracle数据库下
如果记录数不多可以使用下面的查询
delete from TAB_NAME a where a.rowid <> (select max(rowid) from TAB_NAME b where b.COL1 = a.COL1);

括号中的where后,你可以加入所有字段相等
b.COL2 = a.COL2 and b.COL3 = a.COL3 ……

sqlserver下

select distinct * from tableName

就可以得到无重复记录的结果集。

如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
百度网友a800768
2008-12-09 · TA获得超过1841个赞
知道大有可为答主
回答量:1928
采纳率:0%
帮助的人:1709万
展开全部
先将表备份一个临时表,再删除原表中的记录,最后插入.

select * into #a from [表名]

delete from [表名] where 那两条相同记录的条件

insert [表名] select distinct[条件列],列2,列3,.... form #a where 那两条相同记录的条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sharon_QQ
2008-12-09 · TA获得超过492个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:369万
展开全部
在数据库中加个id,作为主键并自动编号,
将你需要删除的字段删除后,再将id列去掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友efae51f
2008-12-09 · TA获得超过2221个赞
知道大有可为答主
回答量:6916
采纳率:0%
帮助的人:2971万
展开全部
这是一个难题,这就是为什么要有一个唯一主键的原因
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
i389
2008-12-09 · 超过28用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:68.6万
展开全部
用sql语句过滤下
sql="select [字段] from [表] group by [字段]"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式