postgresql删除重复记录高效sql


DELETE   FROM   【表】
WHERE   A.ctid = ANY (
           ARRAY (
             SELECT  ctid  FROM
             ( SELECT  ROW_NUMBER ()   OVER   ( 
                            PARTITION BY 
                            【字段1】,【字段2】,【字段3】,【字段4】 ), ctid 
                          FROM 【表】 ) T 
        WHERE       T.ROW_NUMBER > 1 
    ));

ctid 可改为主键

你可能感兴趣的:(postgresql删除重复记录高效sql)