在Postgres 中保留一份重複行的副本
處理重複資料時,通常需要刪除冗餘,同時保留至少一份每個重複集的實例。在Postgres 中,這可以透過以下方法實現:
要刪除重複行同時保留單一副本,我們可以使用以下查詢:
DELETE FROM foo WHERE id NOT IN ( SELECT MIN(id) -- or MAX(id) for the latest copy FROM foo GROUP BY hash );
在此查詢中:
透過使用 MIN(id) 或 MAX( id) 在子查詢中,我們確保只保留每個重複集的最舊或最新副本。
這種方法確保每個重複行至少有一個副本保留在表中,同時刪除不必要的重複項。
以上是如何在 PostgreSQL 中只保留重複行的一份副本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!