access中如何将一张表内其中一列中有重复的记录按规则保留一条
一张表A字段:ID,姓名,身份证,籍贯姓名有重复,想删除姓名重复而籍贯不为广东的项目。怎么写代码?感谢!...
一张表A字段:ID,姓名,身份证,籍贯
姓名有重复,想删除姓名重复而籍贯不为广东的项目。怎么写代码?感谢! 展开
姓名有重复,想删除姓名重复而籍贯不为广东的项目。怎么写代码?感谢! 展开
1个回答
展开全部
删除重复记录,有重复的记录只保留一条,以运行一条sql语句实现这个需求必须借助表中的唯一标识列,例如自增id列、主键列、唯一索引列,否则只能借助其它手段例如应用程序端编程或分多步走追加、删除等。
下面SQL删除查询语句假设A表的ID列为自增id,运行后即可实现题主的需求
delete from A where exists (
select 1 from
(select 姓名,min(ID) as minID from A
group by 姓名 having count(1)>1) t
where t.姓名=A.姓名 and A.ID<>t.minID);
下面SQL删除查询语句假设A表的ID列为自增id,运行后即可实现题主的需求
delete from A where exists (
select 1 from
(select 姓名,min(ID) as minID from A
group by 姓名 having count(1)>1) t
where t.姓名=A.姓名 and A.ID<>t.minID);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询