Home  >  Article  >  Database  >  消除sql2000里的重复数据

消除sql2000里的重复数据

WBOY
WBOYOriginal
2016-06-07 14:55:011172browse

游标版 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

游标版
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)

SQL Server
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)
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn