我有一个表,是一个随时间推移的更新列表 timeOfOfferChange .我可以通过下面的查询获取最新的值,但是有没有办法删除所有不是最大值的记录?
timeOfOfferChange
select asin, uniqueid, max(timeOfOfferChange) from tbl_sqs group by asin
您可以使用以下逻辑:
DELETE FROM tbl_sqs t1 WHERE uniqueid NOT IN (SELECT uniqueid FROM ( SELECT t2.uniqueid FROM tbl_sqs t2 WHERE t2.asin = t1.asin AND t2.timeOfOfferChange > t1.timeOfOfferChange ) t);