溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MSSQL sql server 2005/2008 row_number()函數(shù)應(yīng)用之–刪除表中重

發(fā)布時(shí)間:2020-08-06 22:43:31 來源:網(wǎng)絡(luò) 閱讀:491 作者:qq5a966d773ad96 欄目:關(guān)系型數(shù)據(jù)庫

轉(zhuǎn)自:http://www.maomao365.com/?p=4942

**row_number函數(shù)在數(shù)據(jù)庫中的功能是為每一行 按照一定的規(guī)則生成一個(gè)編號(hào),

我們常常利用這一屬性,對表進(jìn)行分頁操作,

下文我們將講述采用 row_number函數(shù)刪除表中重復(fù)數(shù)據(jù)行**

/*建表*/
create table A(keyId int,info varchar(200))
go 
/*生成數(shù)據(jù)*/
insert into A(keyId,info)values
(1,'a'),(2,'b'),(3,'C'),(4,'d'),(5,'e'),
(1,'a'),(21,'b1'),(31,'C1'),(4,'d'),(51,'貓貓小屋'),
(1,'a'),(6,'b1'),(7,'C1'),(4,'d000'),(10,'maomao365.com')
go

/*刪除 keyId重復(fù)數(shù)據(jù) 中的另外幾條*/
delete [A2] from 
(select row_number() over (Partition By keyId order by keyId) as keyId2,* from A ) as [A2]
where [A2].keyId2  >1 

/*
/*刪除 所有列都重復(fù)數(shù)據(jù) 中的另外幾條*/
delete [A2] from 
(select row_number() over (Partition By keyId,info order by keyId) as keyId2,* from A ) as [A2]
where [A2].keyId2  >1 
 */

/*展示刪除后的數(shù)據(jù)*/

select * from A 
go

truncate table A 
drop table A 
go
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI