sql2000数据库清除重复数据的二种方法
declare @id1 int,@oldid int,@e_REcordid int ,@Olde_REcordid int
DECLARE price CURSOR
FOR SELECT id ,E_recordId FROM evaeve order by E_recordId desc
OPEN price
FETCH NEXT FROM price into @oldid,@Olde_REcordid
while @@fetch_status = 0
begin
FETCH NEXT FROM price
into @id1,@e_REcordid
if @Olde_REcordid=@e_REcordid
BEGIN
delete from evaeve where id=@id1
end
set @oldid=@id1
set @Olde_REcordid=@e_REcordid
end
close price
DEALLOCATE price
delete from evaeve where id not in( select max(id) from evaeve group by E_RecordID)
相关推荐
-
sql删除重复数据的详细方法
一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的.测试数据: 复制代码 代码如下: if OBJECT_ID('duplicate_all') is not nulldrop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into duplicate_all select 1,100,'aaa' union allse
-
SQL Server中删除重复数据的几个方法
方法一 复制代码 代码如下: 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
-
SQL语句删除2条重复数据一条保留一条
-- 任意的测试表 复制代码 代码如下: CREATE TABLE test_delete( name varchar(10), value INT ); go -- 张三100 与 王五80 是有重复的 INSERT INTO test_delete SELECT '张三', 100 UNION ALL SELECT '张三', 100 UNION ALL SELECT '李四', 80 UNION ALL SELECT '王五', 80 UNION ALL SELECT '王五', 80 U
-
Sql Server使用cursor处理重复数据过程详解
/************************************************************ * Code formatted by setyg * Time: 2014/7/29 10:04:44 ************************************************************/ CREATE PROC HandleEmailRepeat AS DECLARE email CURSOR FOR SELECT e.email
-
MySQL中删除重复数据的简单方法
MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考. 第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表 create table tmp3 as select min(id) as col1 from data_content
-
删除mysql数据库中的重复数据记录
采用的是下面的方法可删除,假设重复的是test数据库中的title字段 复制代码 代码如下: create table bak as (select * from test group by title having count(*)=1); insert into bak (select * from test group by title having count(*)>1); truncate table test; insert into te
-
MySQL 删除数据库中重复数据方法小结
刚开始,根据我的想法,这个很简单嘛,上sql语句 delete from zqzrdp where tel in (select min(dpxx_id) from zqzrdp group by tel having count(tel)>1); 执行,报错!!~!~ 异常意为:你不能指定目标表的更新在FROM子句.傻了,MySQL 这样写,不行,让人郁闷. 难倒只能分步操作,蛋疼 以下是网友写的,同样是坑爹的代码,我机器上运行不了. 1. 查询需要删除的记录,会保留一条记录. select
-
MYSQL删除重复数据的简单方法
复制代码 代码如下: CREATETABLE`users`(`id`int(10)NOTNULLAUTO_INCREMENT,`name`char(50)NOTNULL,PRIMARYKEY(`id`)) 复制代码 代码如下: deletefromuserswhereidin(selectmin(id)fromusersgroupbynamehavingcount(name)>1); 结果报错:1093youcan'tspecifytargettable.... 原因是mysql删除动作不能带有
-
SQL Server数据库删除数据集中重复数据实例讲解
SQL Server数据库操作中,有时对于表中的结果集,满足一定规则我们则认为是重复数据,而这些重复数据需要删除.如何删除呢?本文我们通过一个例子来加以说明. 例子如下: 如下只要companyName,invoiceNumber,customerNumber三者都相同,我们则认为是重复数据,下面的例子演示了如何删除. declare @InvoiceListMaster table ( ID int identity primary key , companyName Nchar(20), i
-
删除MySQL重复数据的方法
本文实例讲述了删除MySQL重复数据的方法.分享给大家供大家参考.具体方法如下: 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据.因为在采集中,对于同一台设备,同一个时间点应该只有一个数据,然而,数据库中存入了多个数据.对于如何造成了这个结果,一时没有想清楚,但为了解决入库慢的问题,首先要删除冗余数据. 问题描述 数据库的表结构很简单,如下: 复制代码 代码如下: +----------------+--------------+
-
sqlserver中重复数据值只取一条的sql语句
复制代码 代码如下: --建立数据表createtable TestData ( ID int identity(1,1) primary key, Data int, ColA varchar(20), ColB varchar(20) ) go --插入测试数据 declare @counts int declare @i int set @counts = 10000 set @i = 1 while @i<=@counts begin insert TestData (Data,ColA
-
sqlserver清除完全重复的数据只保留重复数据中的第一条
--创建测试表 CREATE TABLE [dbo].[testtab]( [id] [nchar](10) NULL, [name] [nchar](10) NULL ) ; --向测试表插入测试数据 insert into testtab values('1','1'); insert into testtab values('1','1'); insert into testtab values('2','2'); insert into testtab values('2','2');
-
分享MYSQL插入数据时忽略重复数据的方法
使用下以两种方法时必须把字段设为"主键(PRIMARY KEY"或"唯一约束(UNIQUE)".1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 复制代码 代码如下: REPLACE INTO Syntax REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT}
-
教你几种在SQLServer中删除重复数据方法
方法一 复制代码 代码如下: 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
随机推荐
- extjs 学习笔记(三) 最基本的grid
- 对Angular.js Controller如何进行单元测试
- Oracle基础学习之简单查询和限定查询
- .aspx中的命名空间设置实现代码
- 原生JS实现拖拽图片效果
- 第八篇Bootstrap下拉菜单实例代码
- PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
- 比较全的JS checkbox全选、取消全选、删除功能代码
- JS+CSS实现实用的单击输入框弹出选择框的方法
- 详解 hibernate mapping配置
- java入门概念个人理解之package与import浅析
- VBS教程:VBscript语句-Do...Loop 语句
- jQuery下实现等待指定元素加载完毕(可改成纯js版)
- 参考Dedecms整合Discuz完全攻略实现最新的结合
- C#实现文件上传与下载功能实例
- 2008元旦短信 2008元旦祝福短信集合不段更新
- node vue项目开发之前后端分离实战记录
- Python学习笔记之错误和异常及访问错误消息详解
- 详解element-ui表格中勾选checkbox,高亮当前行
- layui插件表单验证提交触发提交的例子