Maison > Article > base de données > Oracle supprime les données en double et conserve le premier enregistrement
Oracle supprime les données en double et conserve le premier enregistrement
1 Rechercher les enregistrements en double redondants dans la table. champ ( Id) pour juger
select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1)
2. Supprimez les enregistrements en double redondants dans la table. Les enregistrements en double sont jugés sur la base d'un seul champ (Id), ne laissant que l'enregistrement avec le plus petit rowid
DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);3. Recherchez les enregistrements en double redondants (plusieurs champs) dans la table
select * from 表 a where (a.Id,a.seq) in(select Id,seq from 表 group by Id,seq having count(*) > 1)4. Supprimez les enregistrements en double redondants (plusieurs champs) dans la table, en ne laissant que l'enregistrement avec le plus petit rowid
delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1). 5. Recherchez les enregistrements en double redondants (plusieurs champs) dans la table, à l'exclusion de l'enregistrement avec le plus petit rowid
select * from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)Site Web PHP chinois, il existe un grand nombre de
Tutoriels SQL gratuits, tout le monde est bienvenue pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!