sql没有主键删除重复数据只保留一条,如图 ;

要删除id_depot字段对应的id_product重复的记录只保留一条,比如:00017只能保留一条对应的010101010021另外一条删除,这个表没有主建,感觉不适... 要删除id_depot字段对应的id_product重复的记录只保留一条,
比如:00017只能保留一条对应的010101010021另外一条删除,这个表没有主建,感觉不适合采用删除的方法,因为每一个id_depot度对应1W+条数据
展开
 我来答
义气的小刺猬40
2013-03-21 · TA获得超过117个赞
知道答主
回答量:99
采纳率:0%
帮助的人:51.3万
展开全部
1.先把数据表的去除重复的数据放到临时表中
select distinct * into #t from table --distinct 是sqlserver 里面用来去重的
2.把数据表里的数据清空
truncate table dbo.[table]
3.把临时表里的数据插入到数据表里
insert into table select * from #t
4.删除临时表
drop table #t
百度网友b6485d9
2013-03-21 · 超过22用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:48.8万
展开全部
应该把数据放到一个新表里面,别的我就不知道有什么方法了
代码如下:
select item, id..,distinct id_product .... into new_table
from...

在重复的字段前面加个关键字 distinct
new_table是新表的表名,你随便写
你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2c1f62e
2013-03-21 · TA获得超过1330个赞
知道小有建树答主
回答量:471
采纳率:0%
帮助的人:403万
展开全部
你说的这个情况,比较复杂。
没有主键,那么需要判断删除重复记录时,以什么为判断字段。
仅靠 select distinct * from table1 这样是不行的,因为id_depot字段和id_product字段虽然唯一,但是其他字段(比如price字段)可不唯一啊,id_product一样会有重复。

所以如果你要求严格的话,要把所有字段的重复可能性都考虑一下再处理。
如果仅对id_depot和id_product这两个字段有要求的话,可以通过临时表来处理。
假设表名为table1,则
1、添加唯一序列号
select identity(int,1,1) as tempkey, * into temp1 from table 1
2、取出id_depot、id_product唯一的最大序列号
select id_depot, id_product, max(tempkey) as maxkey into temp2 from temp1
3、删除临时表多余数据
delete a from temp1 a where not exists (select 1 from temp2 b where a.tempkey=b.maxkey)
4、删除临时表序列号
alter table temp1 drop column tempkey
5、删除原表数据
truncate table table 1
或者delete from table1
6、插回唯一数据
insert table1 select * from temp1
7、删除临时表
drop table temp1, temp2
追问
id_depot不是唯一的是一个分类
追答
对啊,就是取的 id_depot 加上 id_product 唯一的所有记录啊,这两个字段同时进行判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2013-03-21 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5125万
展开全部
;with cte as (select *,row_number() over(partitioin by id_depot,id_product order by id_depot)rn from tb)
delete cte where rn>1
更多追问追答
追问

追答
额。。。你这是2000?2000构建行号的话效率很低啊,而且你的表如果大的话估计执行起来超慢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式