博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 删除表中的重复记录,只保留其中一条。
阅读量:7166 次
发布时间:2019-06-29

本文共 915 字,大约阅读时间需要 3 分钟。

  hot3.png

方法一

第一步:查询重复记录

SELECT * FROM TableName  --表名WHERE RepeatFiled IN (      SELECT RepeatFiled  --重复字段    FROM TableName      GROUP BY RepeatFiled      HAVING COUNT(RepeatFiled) > 1  )

把重复条数大于1的全部查询出来。

第二步:删除重复记录,只保留一条

SELECT * FROM TableName  WHERE RepeatFiled IN (      SELECT RepeatFiled      FROM TableName      GROUP BY RepeatFiled      HAVING COUNT(RepeatFiled) > 1      AND      ID NOT IN (          SELECT MIN(ID)          FROM TableName          GROUP RepeatFiled          HAVING COUNT(RepeatFiled) > 1          )  )

在第一步的基础上继续过滤,把最小值留下。

方法二

declare @max integer,@id integerdeclare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) >; 1open cur_rowsfetch cur_rows into @id,@maxwhile @@fetch_status=0beginselect @max = @max -1set rowcount @maxdelete from 表名 where 主字段 = @idfetch cur_rows into @id,@maxendclose cur_rowsset rowcount 0

 

转载于:https://my.oschina.net/haoye/blog/1818831

你可能感兴趣的文章
Maven发布工程到公共库
查看>>
@RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别...
查看>>
MSMQ实现自定义序列化存储
查看>>
如何修改vs2010中html的默认模板
查看>>
给参加学术会议的人一些宝贵建议
查看>>
jdbc链接mysql转
查看>>
Could not execute method of the activity Android
查看>>
使用solrj操作solr索引库
查看>>
【原创】Kafka producer原理 (Scala版同步producer)
查看>>
在运行时切换 WinForm 程序的界面语言 System.ComponentModel.ComponentResourceManager .ApplyResources...
查看>>
SSH框架总结(帧分析+环境结构+示例源代码下载)
查看>>
FME2014汉化问题
查看>>
【Servlet和JSP-学习-1】基础知识
查看>>
使用CSS3制图
查看>>
Pizza pieces
查看>>
OC 数据类型之间的转换方法
查看>>
Javascript J更深层次的理解avascript 基础知识
查看>>
如何定义AIDL跨进程间通信
查看>>
C语言,数据类型
查看>>
WPF 4.0 DatePicker 快速录入
查看>>