程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sql server 2008 R2刪除重復數據的方法

sql server 2008 R2刪除重復數據的方法

編輯:關於SqlServer

推薦方法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'

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved