如何根据多个条件删除重复?

时间:2012-09-20 20:23:19

标签: sql duplicates foxpro

我有一个包含4列的表格: customerid 已购买 buyersenumber 和operationid 。此表作为另一个查询的结果返回。

我希望消除任何重复客户,但具有最新日期的客户除外。

例如:如果我有4个具有不同购买者但具有相同操作ID和相同customerid的条目,那么我希望保留最新条目。

1 个答案:

答案 0 :(得分:1)

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

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

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