首页 / 数据库 / SQLServer / sql server 2008 R2删除重复数据的方法
sql server 2008 R2删除重复数据的方法2014-03-08 csdn博客 ocpyang推荐方法3--方法1:SELECT *FROM ( SELECT Row_Number() OVER ( PARTITION BY [orderno] ORDER BY ( SELECT 0 ) ) AS RowNO , * FROM tblMulCharge ) tWHERE 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 = 1DROP TABLE dbo.tblMulCharge ;EXEC sp_rename "dbo.tblMulCharge_tmp", "tblMulCharge"