学堂 学堂 学堂公众号手机端

pgsql怎么删除重复数据

lewis 2年前 (2023-04-12) 阅读数 3 #技术

要删除重复数据,可以使用以下步骤:

  1. 找出重复数据的所有记录:
SELECT *, COUNT(*) 
FROM table_name
GROUP BY column1, column2, ... 
HAVING COUNT(*) > 1;
  1. 根据查询结果删除重复数据中的一个记录:
DELETE FROM table_name 
WHERE id IN (
    SELECT id
    FROM (
        SELECT id, ROW_NUMBER() OVER (PARTITION BY column1, column2, ... ORDER BY id) AS rnum
        FROM table_name
    ) t
    WHERE t.rnum > 1
);

在上面的语句中,column1, column2, ...是用来识别重复数据的列,id是表的主键字段。

请注意,在执行删除操作之前,请务必备份数据以防止意外删除。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门