3 votes

sql server 2008 suppression des doublons

J'ai des doublons comme ceci

col1, col2
1, alex
1, alex
2, liza
2, liza
3, peter
3, peter

il n'y en a que deux de chaque. comment supprimer les doublons ?

12voto

Quassnoi Points 191041
WITH    q AS
        (
        SELECT  *,
                ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col1, col2) AS rn
        FROM    mytable
        )
DELETE
FROM    q
WHERE   rn >= 2

Voir ici :

1voto

RollingBoy Points 1449

Si la table d'origine n'est pas énorme.

select distinct * from origin_table into temp_table;
truncate table origin_table;
insert into origin_table select * from temp_table ;
drop table temp_table;

0voto

Beth Points 6644
insert into table_new
   Select col1, col2, min(pk) as pk from table_old
   group by col1, col2

-- debug table_new

drop table_old

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X