0

我有一个包含 4 列的表:customeridpurchaseatepurchasenumberoperationid。此表作为另一个查询的结果返回。

我想消除任何重复的客户,但日期最近的客户除外。

例如:如果我有 4 个条目具有不同的购买日期但相同的操作 ID 和相同的客户 ID,那么我想保留最新的。

4

1 回答 1

1
DELETE FROM YourTable ;
  WHERE PurchaseDate < ;
    (SELECT MAX(PurchaseDate) ;
       FROM YourTable YT2 ;
       WHERE YT2.CustomerID = YourTable.CustomerID ;
         AND YT2.OperationID = YourTable.OperationID)

应该这样做,但如果您在最近的日期有相同 customerID 和 operationID 的多条记录,您将保留所有记录。

这是未经测试的,因此请确保在尝试之前备份您的数据。

于 2012-09-20T20:46:09.297 回答