删除具有特定条件sql的重复项

问题描述

| 我正在记录目录中所做的更改。该目录中有很多文件,因此我试图通过删除重复项来减小数据库的大小。但是为了使事情更清楚,让我向您展示我所拥有的。 我有一个名为table1的表 从查看此表可以看出,第一次扫描目录时,我有两个文件A和B。下次扫描目录时,我知道通过查看该表已添加文件C和修改文件A。请注意,文件A具有不同的DateModified,这就是为什么我可以通过电话联系它的原因。最后,在我的最后一次扫描中,我知道文件X已创建,文件B也已修改文件A和C保持不变。 创建大量扫描后,有几个文件会重复出现。如果它们具有不同的DateModified,我不想删除重复项,因为我想跟踪该目录上的更改。此外,当删除重复项时,我希望保留在较低的DateInserted中,以便我知道它何时被修改。 所以换句话说,我想构建一个查询,在其中可以删除FileID 6,因为FileID 3包含相同的路径和相同的DateModified。我还要删除FileID 4,因为fileID 2包含相同的两个记录。最后,出于相同的原因,我想删除fileID 5。如何建立此查询? 编辑 我只是添加了我一直在努力的查询,希望它能对您有所帮助。 通过此查询,我知道这些文件是根据我需要的条件重复的。我不知道如何从那里删除基于这些结果的更高的dateInserted重复项。希望这可以帮助     

解决方法

        如果我理解正确,则您需要唯一记录,其中唯一记录可以视为独特的Path&DateModified组合,并且当出现重复项时,您希望最早的记录返回。 该查询有望达到目的: SELECT MIN(FileID)AS FileID,Path,datemodified,dateInserted from table1 GROUP BY Path,DateModified