技巧:删除表中重复数据的几种方法

本文介绍了一种通过创建自增长字段、使用临时表来优化表结构并清理重复数据的方法。具体步骤包括:1)增加自增长字段并删除重复记录;2)使用临时表保存唯一数据后清空原表;3)将临时表的数据重新插入到原表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设存在如下表:

CREATE TABLE Products (
ProductID int,
ProductName nvarchar (40),
Unit char(2),
UnitPrice money
)

表中数据如下:
insert Products
select 1,'产品1','包',   9.9 union all
select 2,'产品2','箱',   20 union all
select 2,'产品2','箱',   20 union all
select 3,'产品3','件',   5 union all
select 4,'产品4','桶', 100 union all
select 4,'产品4','桶', 100 union all
select 4,'产品4','桶', 100 

1、在表中增加自增长字段
alter table products add p_id int IDENTITY(1,1)
delete from products where p_id not in (select max(p_id) from products group by ProductID)
alter table products drop column p_id

2、 利用临时表删除表中数据
select distinct * into #temp from products
truncate table products
insert into products select * from #temp
drop table #temp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值