ホームページ  >  記事  >  データベース  >  消除sql2000里的重复数据

消除sql2000里的重复数据

WBOY
WBOYオリジナル
2016-06-07 14:55:011168ブラウズ

游标版 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)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。