Hãy thử các bước được mô tả trong bài viết này:Xóa các bản sao khỏi cơ sở dữ liệu PostgreSQL.
Nó mô tả một tình huống khi bạn phải xử lý một lượng lớn dữ liệu mà group by
.
Một giải pháp đơn giản sẽ là sau:
DELETE FROM foo
WHERE id NOT IN (SELECT min(id) --or max(id)
FROM foo
GROUP BY hash)
Trong đó hash
là thứ bị trùng lặp.