在PostgreSQL中,你可以使用以下方法刪除表中重復數據的行:
找出重復數據的行:
SELECT col1, col2, ..., coln, COUNT(*) FROM table_name
GROUP BY col1, col2, ..., coln
HAVING COUNT(*) > 1;
創建一個臨時表來存儲需要刪除的重復數據的行:
CREATE TABLE temp_table AS
SELECT DISTINCT ON (col1, col2, ..., coln) *
FROM table_name;
刪除原表中的所有數據:
DELETE FROM table_name;
將臨時表中的數據重新插入到原表中:
INSERT INTO table_name SELECT * FROM temp_table;
最后,刪除臨時表:
DROP TABLE temp_table;
請注意,在執行這些操作之前,強烈建議先備份數據以防止意外刪除。