i

Requête suppression de doublons [Oracle]


Cette requête SQL permet de supprimer les doublons d'une table sous n'importe quelle condition exemple :

colonne 1 + colonne 2

cette requête laisse la première occurrence et supprime les autres.


DELETE FROM My_Table

    WHERE ROWID IN (

            SELECT ROWID

            FROM ( SELECT ROWID, ROW_NUMBER ( ) OVER ( PARTITION BY col1 || col2 ORDER BY col1 || col2 ) num_ligne

                      FROM My_Table ) t2

            WHERE num_ligne > 1 )