您现在的位置是:首页 > 文章详情

MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据

日期:2018-05-02点击:295
原文: MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据

转自:http://www.maomao365.com/?p=4942

下文主要讲述:重复数据只获取一条的方法

row_number函数在数据库中的功能是为每一行 按照一定的规则生成一个编号,
我们常常利用这一属性,对表进行分页操作,下文我们将讲述采用 row_number函数删除表中重复数据行

/*建表*/ create table A(keyId int,info varchar(20)) go /*生成数据*/ 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,'e'), (1,'a'),(6,'b1'),(7,'C1'),(4,'d000'),(10,'e') go /*删除 keyId重复数据 中的另外几条*/ delete [A2] from (select row_number() over (Partition By keyId order by keyId) as keyId2,* from A ) as [A2] where [A2].keyId2 >1 /* /*删除 所有列都重复数据 中的另外几条*/ delete [A2] from (select row_number() over (Partition By keyId,info order by keyId) as keyId2,* from A ) as [A2] where [A2].keyId2 >1 */ /*展示删除后的数据*/ select * from A go truncate table A drop table A go

 

原文链接:https://yq.aliyun.com/articles/678838
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章