SQL Server中删除重复数据的几个方法

来源:asp之家 时间:2009-10-30 10:50:00 

数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置……

方法一


以下为引用的内容:

declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0


方法二

有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。

1、对于第一种重复,比较容易解决,使用


以下为引用的内容:

select distinct * from tableName


就可以得到无重复记录的结果集。

如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除


以下为引用的内容:

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp


发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。

2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下

假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集


以下为引用的内容:

select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)


最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)


标签:SQLServer,删除,重复数据
0
投稿

猜你喜欢

  • 利用Python打造一个多人聊天室的示例详解

    2023-04-10 15:22:11
  • mysql 5.7.21 安装配置方法图文教程(window)

    2024-01-28 05:04:12
  • Tensorflow 训练自己的数据集将数据直接导入到内存

    2023-08-18 14:30:14
  • 在vue中使用G2图表的示例代码

    2024-05-28 15:52:22
  • windows下Git安装教程(图文)

    2022-12-24 06:09:40
  • golang flag简单用法

    2024-05-08 10:23:48
  • python实现学生成绩测评系统

    2023-08-09 19:40:56
  • 使用IDEA回滚某次提交的代码步骤

    2023-06-21 03:15:28
  • 解决pytorch 交叉熵损失输出为负数的问题

    2022-04-29 10:17:33
  • flask循环导入的问题解决

    2023-10-01 10:28:52
  • mysql服务启动却连接不上的解决方法

    2024-01-24 23:45:13
  • 彻底理解Python中的yield关键字

    2021-02-23 16:31:42
  • Golang优雅保持main函数不退出的办法

    2023-07-12 21:15:54
  • Python利用turtle库绘制彩虹代码示例

    2022-03-04 03:55:01
  • 未知高度的图片垂直居中

    2010-12-17 12:36:00
  • 基于Python编写微信清理工具的示例代码

    2022-03-04 09:02:54
  • python3+PyQt5使用数据库窗口视图

    2023-03-08 10:44:26
  • Python编写单元测试代码实例

    2022-11-02 12:27:09
  • Python库 Bokeh 数据可视化实用指南

    2022-09-28 14:54:51
  • python openCV自制绘画板

    2022-05-17 23:45:51
  • asp之家 网络编程 m.aspxhome.com