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);
select * from 表 a where (a.Id,a.seq) in(select Id,seq from 表 group by Id,seq having count(*) > 1)
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)
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)
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!