我有一个包含 4 列的表:customerid、purchaseate、purchasenumber和operationid。此表作为另一个查询的结果返回。
我想消除任何重复的客户,但日期最近的客户除外。
例如:如果我有 4 个条目具有不同的购买日期但相同的操作 ID 和相同的客户 ID,那么我想保留最新的。
我有一个包含 4 列的表:customerid、purchaseate、purchasenumber和operationid。此表作为另一个查询的结果返回。
我想消除任何重复的客户,但日期最近的客户除外。
例如:如果我有 4 个条目具有不同的购买日期但相同的操作 ID 和相同的客户 ID,那么我想保留最新的。
DELETE FROM YourTable ;
WHERE PurchaseDate < ;
(SELECT MAX(PurchaseDate) ;
FROM YourTable YT2 ;
WHERE YT2.CustomerID = YourTable.CustomerID ;
AND YT2.OperationID = YourTable.OperationID)
应该这样做,但如果您在最近的日期有相同 customerID 和 operationID 的多条记录,您将保留所有记录。
这是未经测试的,因此请确保在尝试之前备份您的数据。