当前位置: 首页 > news >正文

如何删除 SQL Server 表中的重复行

第一种:有主键的重复行,就是说主键不重复,但是记录的内容重复
比如人员表tab ,主键列id,身份证编号idcard
当身份证重复的时候,保留最小id值的记录,其他删除
delete a from tab a where exists(select 1 from tab where idcard = a.idcard and id < a.id)

第二种:没有主键的重复行,这种重复的意思是两条记录完全重复,所有字段的值都一样,而且表因为设计失误没有主键
这种可以有两种方式删除
1. 加标示列
alter table tab add id int identity(1,1) ,加上以后,这个情况就变成了第一种情况,删除语句同上

2. 中间表,把重复数据导出来,删掉原表数据,再吧数据导回去
--导出
select a,b,c,d from tab into #tab group by a, b,c,d having count(1) > 1
--删除
delete a from tab t1 inner join #tab t2 on t1.a = t2.a and t1.b = t2.b and t1.c = t2.c and t1.d = t2.d
--导回
insert into tab select * from #tab

这两种情况根据实际情况自行选用

转载于:https://www.cnblogs.com/sdusrz/p/3936515.html

相关文章:

  • Android 不通过USB数据线调试的方法
  • Android网络开发之OkHttp--基本用法GET
  • 查看Android应用包名package和入口activity名称
  • ueditor 最新版本【1.4.3.1】单独文件/图片上传处理方法
  • 【原创】sizeof运算符总结
  • Android客户端性能测试常见指标及测试方法--转载
  • composer 报错笔记
  • ubuntu集群下ssh配置总结
  • 使用css3属性,大部分浏览器要识别前缀
  • 暴搜 - Codeforces Round #327 (Div. 2) E. Three States
  • iOS中正确的截屏姿势
  • Android Volley框架的使用(三)
  • IP工具类-自己动手做个ip解析器
  • CSS3 变换
  • 前端之React实战:创建跨平台的项目架构
  • SegmentFault for Android 3.0 发布
  • Angular 4.x 动态创建组件
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Hibernate最全面试题
  • iOS小技巧之UIImagePickerController实现头像选择
  • JS 面试题总结
  • JWT究竟是什么呢?
  • Median of Two Sorted Arrays
  • php ci框架整合银盛支付
  • React Native移动开发实战-3-实现页面间的数据传递
  • Spring Boot MyBatis配置多种数据库
  • vue总结
  • 技术:超级实用的电脑小技巧
  • 盘点那些不知名却常用的 Git 操作
  • 批量截取pdf文件
  • 我是如何设计 Upload 上传组件的
  • 正则表达式小结
  • Linux权限管理(week1_day5)--技术流ken
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • ${ }的特别功能
  • (6)设计一个TimeMap
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Oracle)SQL优化技巧(一):分页查询
  • (八)Flask之app.route装饰器函数的参数
  • (过滤器)Filter和(监听器)listener
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (三)uboot源码分析
  • (十三)Maven插件解析运行机制
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)ORM
  • (转)setTimeout 和 setInterval 的区别
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net core 6 redis操作类
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net 调用php,php 调用.net com组件 --
  • .NET 设计模式—简单工厂(Simple Factory Pattern)