微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver 2008 R2 删除重复数据

推荐方法3

 

--方法1:
SELECT  *
FROM    ( SELECT    Row_Number() OVER ( PARTITION BY [orderno] ORDER BY ( SELECT
                                                              0
                                                              ) ) AS RowNO,
                    *
          FROM      tblMulCharge
        ) t
WHERE   T.RowNO > 1 ;

 


--方法2:

WITH    ct01
          AS ( SELECT   ROW_NUMBER() OVER ( PARTITION BY orderno ORDER BY ( SELECT
                                                              0
                                                              ) ) AS rn
               FROM     tblMulCharge
             )
    DELETE  FROM ct01
    WHERE   rn > 1
    go


--方法3:针对大数据

WITH    ct01           AS ( SELECT   [ID],                        [OriOrderNo],                        [OrderNo],                        [TotalAmount],                        [PayAmount],                        [ProviderAmount],                        [transaction_id],                        [PNRCode],                        [Consumer],                        [Provider],                        [SellerAccount],                        [BuyerAccount],                        [State],                        [PayTime],                        [PayInfo],                        [refundTime],                        [refund_id],                        [refund_info],                        [refundTimeV],                        [refund_id_V],                        [refund_info_V],                        [refundAmount],                        ROW_NUMBER() OVER ( PARTITION BY orderno ORDER BY ( SELECT                                                               0                                                               ) ) AS rn                FROM     tblMulCharge              )     SELECT      [ID]      ,[OriOrderNo]      ,[OrderNo]      ,[TotalAmount]      ,[PayAmount]      ,[ProviderAmount]      ,[transaction_id]      ,[PNRCode]      ,[Consumer]      ,[Provider]      ,[SellerAccount]      ,[BuyerAccount]      ,[State]      ,[PayTime]      ,[PayInfo]      ,[refundTime]      ,[refund_id]      ,[refund_info]      ,[refundTimeV]      ,[refund_id_V]      ,[refund_info_V]      ,[refundAmount]     INTO    dbo.tblMulCharge_tmp     FROM    ct01     WHERE   rn = 1 DROP TABLE dbo.tblMulCharge ;   EXEC sp_rename 'dbo.tblMulCharge_tmp','tblMulCharge'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐