一个表,有多条数据重复(部分字段不重复),怎么删掉重复的只留一条?

一个表里有104W车架数据,有2W个车架有重复的(落户日期和地址不一样),怎么把车架重复的数据删掉只留一条(随便那条都行),求SQL写法或者思路,谢谢上面图片只是列出一个... 一个表里有104W车架数据,有2W个车架有重复的(落户日期和地址不一样),怎么把车架重复的数据删掉只留一条(随便那条都行),求SQL写法或者思路,谢谢
上面图片只是列出一个车架重复的数据,这个表里还有其他数据
展开
 我来答
匿名用户
2015-08-07
展开全部
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 delete from people where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1) and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)
3、查找表中多余的重复记录(多个字段) select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录 delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录 select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  
6.消除一个字段的左边的第一位:
update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'
7.消除一个字段的右边的第一位:
update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'
8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录 update vitae set ispass=-1 where peopleId in (select peopleId from vitae group by peopleId,seq having count(*) > 1) and seq in (select seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
追问
乱了点,没看懂
谢谢了
joy0084868
2015-08-07 · TA获得超过2552个赞
知道大有可为答主
回答量:4914
采纳率:54%
帮助的人:1308万
展开全部
office2007以上版本 都有去重复的功能键 你可以直接使用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dhy847700589
2015-08-07
知道答主
回答量:13
采纳率:0%
帮助的人:5.9万
展开全部
你傻啊,你的落户日期和地址不同,那么就说明你这些数据是不相同的数据,你只想随便留一条,SQL怎么知道你想留那条,给你个建议你先用统计功能找出重复了,然后自己选择要删除的。
追问
满意答案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jzzqqxb0378
2015-08-07 · 超过12用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:14.3万
展开全部
delete from table where 车架号=“重复的车架号”
追问
这样的话把重复的都删掉,达不到留一条的效果吧
追答
这个帖子有你想知道的东西
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式