处理PostgreSQL类似但不完全重复的记录

时间:2016-08-25 03:37:06

标签: postgresql

我有一个包含许多重复行的表。我可以摆脱那些:

DELETE FROM files
WHERE id IN (
 SELECT id 
 FROM (SELECT id, ROW_NUMBER() OVER (partition BY name, active, filesize, start_timestamp, end_timestamp ORDER BY id) AS rnum
FROM files) t 
WHERE t.rnum > 1);

大部分时间都可以正常工作,但是我有很多行,其中filesize和end_timestamp会发生变化,但所有剩余的数据都保持不变。我想要做的是当存在重复记录时,将最小文件大小和end_timestamp的记录的活动属性更改为false。

我只是有一个时刻,似乎无法弄清楚如何做到这一点。

0 个答案:

没有答案