我最近问了关于 MySQL 的相同问题,该问题已被迁移到 Postgres。 老问题。
把它们加起来:
我有一个带有 id(类型 UUID)、时间戳和一些文本(row3)的表。如何为 row3 的每个不同值每小时只保留一个条目?
我尝试的是这样的:
INSERT INTO log_table
SELECT * FROM table1
WHERE id IN (
SELECT DISTINCT ON(id) id
FROM table1
GROUP BY row3, EXTRACT(HOUR FROM "time"), id
);
TRUNCATE table1;
但不幸的是,这会插入 table1 中的每一行。