以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助:将数据库里重复的行删掉 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=86807) |
-- 作者:fubblyc -- 发布时间:2016/6/26 22:14:00 -- 求助:将数据库里重复的行删掉 导数据不小心导重了,数据库里有重复的,怎么才能把重复的删掉,同样的只剩下一条呢?数据量很大,十几万条记录 ![]() ![]() |
-- 作者:fubblyc -- 发布时间:2016/6/26 22:16:00 -- 比如 重复 的那一列 ,前面两行 就是 重复的,要只剩下一条。 |
-- 作者:大红袍 -- 发布时间:2016/6/27 0:20:00 -- 删除重复,参考
http://www.baidu.com/baidu?wd=sqlserver+%C9%BE%B3%FD%D6%D8%B8%B4&tn=monline_4_dg
|
-- 作者:fubblyc -- 发布时间:2016/6/27 14:26:00 -- 谢谢大红袍老师。删除重复的我会了。那发了一个问题,不能把重复的全部删掉,要做判断。连续编号的不能删,不是同一个连续编号的才能删。
[此贴子已经被作者于2016/6/27 14:26:28编辑过]
|
-- 作者:fubblyc -- 发布时间:2016/6/27 14:29:00 -- 如上图,596482和 596483 的是连续编号,这两个是不能删。而 533332和533333 也是连续编号,但是不是和596482 为一组的,说明是重复录进去的,才要删。 要么删596482 的这一组,要么删 533332 的这一组。 |
-- 作者:fubblyc -- 发布时间:2016/6/27 14:34:00 -- 现在知道这样做:delet e from people where peopleId 这是把所有重复的都删掉了。但是 596482和 596483 虽然是重复的,但是是连续编号,所以两个都要留着。只要 把 533332和533333 删掉就行。不知道怎么加条件 |
-- 作者:fubblyc -- 发布时间:2016/6/27 14:35:00 -- 一般连续编号不会超过10条。 |
-- 作者:大红袍 -- 发布时间:2016/6/27 15:08:00 -- 那就要用代码处理。
Dim drs As List(Of DataRow) = DataTables("表A").Select("","第二列,第一列") |
-- 作者:fubblyc -- 发布时间:2016/6/27 22:14:00 --
[此贴子已经被作者于2016/6/27 22:17:21编辑过]
|
-- 作者:fubblyc -- 发布时间:2016/6/27 22:32:00 -- 大红袍老师,我这样写: Dim drs As List(Of DataRow) = DataTables("销售明细2").Selec t("","_Identify2,_Identify")
结果是这样: 没有等于 -1 的。所以,也就没有删除任何东西
|