sql server 删除重复的数据

本文介绍如何使用SQL语句来删除数据库表中的重复记录,并分别给出针对整条记录重复及单一字段重复情况下的解决方案。

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

1–删除name,sex重复的数据,只留下一条数据;

select * into #lin1 from student   --先将student的数据插入临时表#lin1中;
select min(id) as iidd into #lin2 from student group by name,sex   --根据name,sex分组,并获取每组中最小的id;
select * from student where id not in(select iidd from #lin2)      --确认查询出的这些数据,是否是重复的并且可以删除的数据;
delete student where id not in(select iidd from #lin2)             --确认无误后,删除重复的数据;
select * from student                                              --查看数据;

insert into student select * from #lin1     --删除后又想回复删除前的数据时,执行这条语句;
drop table #lin1        
drop table #lin2                            --最后删除这两张临时表;

2–只删除一个字段(name)的重复数据时;


select min(id) from student group by name
delete student where id not in (select min(id) from student group by name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值