sql2000数据库清除重复数据的二种方法

465 查看

使用游标实现

复制代码 代码如下:

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

使用sql语句实现

复制代码 代码如下:

delete   from evaeve where id not in(  select max(id)  from evaeve group by   E_RecordID)