J'ai une table (grande ~1 000 000 lignes) qui contient potentiellement des lignes dupliquées (valeurs NULL possibles).
Ce que je veux faire, c'est ceci :
- Ne sélectionner que les lignes distinctes.
- Supprimer les lignes dont le champ "id" est dupliqué.
Prenons une table :
id | a | b
1 | 2 | 3
2 | 8 | 7
3 | 9 | 10
2 | 8 | 7
3 | 20| 12
Ce que je veux obtenir, c'est.. :
id | a | b
1 | 2 | 3
2 | 8 | 7
La ligne avec l'identifiant 2 est conservée dans une copie, tandis que les lignes avec l'identifiant 3 ont été supprimées.
Je pensais à.. :
-
SELECT DISTINCT id, a, b FROM table
pour n'obtenir que des lignes distinctes. - Filtrer d'une manière ou d'une autre le résultat de (1) pour supprimer les identifiants en double.
Quelle serait la meilleure façon de procéder ?