当前位置:首页 > 数据库 > Sqlserver

sql server 表去除重复行

1、有唯一列,通过唯一列最大或最小方式删除重复记录

            1 delete from zczjDataTemp
2where cdnum in( select cdnum from zczjDataTemp group by  cdnum having count(cdnum ) > 1) and 
3  ID not in(select  max(ID) from zczjDataTemp group by  cdnum having count(cdnum ) > 1 )

2、无唯一列使用ROW_NUMBER()函数删除重复记录

            1
            Delete T From

            2  (Select Row_Number() Over(Partition By [cdnum] order By [ID]) As RowNumber,* From zczjDataTemp)T
3  Where T.RowNumber > 1

确认SQL

            1
            select T.* From
2   (Select Row_Number() Over(Partition By [cdnum] order By [ID]) As RowNumber,* From zczjDataTemp)T
3   Where T.RowNumber = 1

 

原文:https://www.cnblogs.com/MirZhai/p/14988620.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!