Bonjour,
je suis actuellement en stage à France Télécom, et je dois traiter une table assez conséquente dans ma base de données (plusieurs millions de lignes).
Pour celà je commence par la nettoyer afin de supprimer quelques mauvaises valeurs, tels que des doublons!
Le problème, c'est que ces doublons ne sont pas tous en doublesIl n'est pas rare de trouver des valeurs identiques 4,5,6, voir 700 fois dans la table..
![]()
J'ai alors décidé de supprimer tous les doublons qui apparaissent plus de 3 fois dans ma table donc je garde les doublons qui apparaissent 2 et 3 fois, mais ça je pense que vous aviez compris).. Pour des raisons de confidentialités, le champ de la table concerné par les doublons s'appellera "ID", et la table en question s'appellera "Ma_table".
Voici la requête que j'ai faite (je suis sous Oracle10g, via Sql*Plus) :
Seulement j'obtiens la réponse suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DELETE FROM Ma_table WHERE ID IN ( SELECT ID,COUNT(*) FROM Ma_table GROUP BY ID HAVING COUNT(*)>3);
Une solution à ce problème?.. Merci beaucoup de votre (future) aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part ORA-00913: too many values
![]()
Partager