自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

sql刪除重復(fù)記錄沒有大小關(guān)系時(shí)重復(fù)值的處理方法

數(shù)據(jù)庫(kù) SQL Server
sql 刪除重復(fù)記錄沒有大小關(guān)系時(shí),重復(fù)值將如何處理呢? 下文就將為您介紹sql刪除重復(fù)記錄沒有大小關(guān)系時(shí)重復(fù)值的處理方法,供您參考,希望對(duì)您有所啟迪。

sql 刪除重復(fù)記錄沒有大小關(guān)系時(shí),重復(fù)值將如何處理呢? 下文就將為您介紹sql刪除重復(fù)記錄沒有大小關(guān)系時(shí)重復(fù)值的處理方法,供您參考,希望對(duì)您有所啟迪。

--> --> (roy)生成

if not object_id(tempdb..#t) is null
    drop table #t
go
create table #t([num] int,[name] nvarchar(1))
insert #t
select 1,na union all
select 1,na union all
select 1,na union all
select 2,nb union all
select 2,nb
go方法1:

if object_id(tempdb..#) is not null
    drop table #
select distinct * into # from #t--排除重復(fù)記錄結(jié)果集生成臨時(shí)表#

truncate table #t--清空表

insert #t select * from #    --把臨時(shí)表#插入到表#t中
--查看結(jié)果
select * from #t

/*
num         name
----------- ----
1           a
2           b

(2 行受影響)#p#
*/

--重新執(zhí)行測(cè)試數(shù)據(jù)后用方法2
方法2:

alter table #t add id int identity--新增標(biāo)識(shí)列
go
delete a from  #t a where  exists(select 1 from #t where num=a.num and name=a.name and id>a.id)--只保留一條記錄
go
alter table #t drop column id--刪除標(biāo)識(shí)列--查看結(jié)果
select * from #t

/*
num         name
----------- ----
1           a
2           b

(2 行受影響)

*/

--重新執(zhí)行測(cè)試數(shù)據(jù)后用方法3
方法3:

declare roy_cursor cursor local for#p#
select count(1)-1,num,name from #t group by num,name having count(1)>1
declare @con int,@num int,@name nvarchar(1)
open roy_cursor
fetch next from roy_cursor into @con,@num,@name
while @@fetch_status=0
begin
    set rowcount @con;
    delete #t where num=@num and name=@name
    set rowcount 0;
    fetch next from roy_cursor into @con,@num,@name
end
close roy_cursor
deallocate roy_cursor--查看結(jié)果
select * from #t
/*
num         name
----------- ----
1           a
2           b

(2 行受影響)
*/
//利用存儲(chǔ)過程

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//使用函數(shù)

select distinct * into #tmp from tablename
drop table tablename
select * into tablename from #tmp
drop table #tmp

本文轉(zhuǎn)載自【web優(yōu)化網(wǎng)】新聞中心:http://www.web-youhua.com/html/web-youhua-198601001.html

責(zé)任編輯:段燃 來源: WEB優(yōu)化網(wǎng)
相關(guān)推薦

2010-10-13 17:07:46

MySQL刪除重復(fù)記錄

2010-10-13 17:13:17

MySQL重復(fù)記錄

2010-09-25 16:17:25

SQL語句

2010-11-23 14:26:02

MySQL刪除重復(fù)記錄

2010-10-27 16:49:23

Oracle刪除重復(fù)記

2010-09-03 09:49:39

SQL刪除

2010-09-28 15:46:22

SQL刪除重復(fù)記錄

2010-09-28 15:40:51

SQL刪除重復(fù)記錄

2010-11-25 15:43:02

MYSQL查詢重復(fù)記錄

2010-07-26 17:00:11

SQL Server查

2011-05-24 10:04:39

Oracle重復(fù)記錄

2010-10-27 16:56:05

Oracle重復(fù)記錄

2010-09-30 10:29:56

DB2刪除重復(fù)記錄

2011-03-04 17:30:42

Oracle數(shù)據(jù)庫(kù)

2010-11-15 14:42:03

Oracle查詢重復(fù)記

2010-07-02 13:50:11

SQL Server數(shù)

2011-03-21 17:25:08

SQL Server數(shù)重復(fù)記錄

2011-05-17 11:23:02

Oracle數(shù)據(jù)庫(kù)

2010-04-13 10:23:40

Oracle數(shù)據(jù)庫(kù)

2010-09-01 16:47:18

SQL刪除
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)