我有一个包含约200个不同ID的表格。每个ID在不同的时间戳记录中记录了大约100倍的数据。我想要为每个ID分别删除比该特定ID的最年轻记录早2天的记录。 又名,我想为每个ID至少2天的列表。有些可能会达到CURRENTDATE,其他列表可能是2天,从上个月开始。每个ID删除比最新记录旧2天的记录
将这项工作?:
> DELETE FROM loggingTable WHERE (DATE_SUB(MAX(T_log),INTERVAL 48 HOUR)> T_log) GROUP BY ID
我不想删除我的数据....
_“我不想删除我的数据....”_ - 然后创建一个_copy_,然后测试... – CBroe
@CBroe。我的意思是:我不想删除太多的数据,并假设我做了我所期望的。 – drB
然后创建一个可以验证的仔细测试条件。如果错误,请将测试环境中的数据恢复到之前的状态(您创建备份的状态),然后重试。这叫做单元测试你的代码,并且是编码的一部分。是的,如果你有经验的话,你可能会事先确定某个特定的代码只会通过查看它的工作,但通常这个技能通过大量的测试和试验和错误。由于我们无法看到您的数据,所以很难知道您的查询是否可以在其上运行,无论如何 – ADyson