Quel est le moyen le plus efficace de détecter les doublons dans une table à 10 colonnes/50K lignes? J'utilise MSSQL 8.0Comment détecter les lignes en double dans une table SQL Server?
Répondre
Pour montrer un exemple de ce que d'autres ont décrit:
SELECT
Col1, -- All of the columns you want to dedupe on
Col2, -- which is not neccesarily all of the columns
Col3, -- in the table
Col4,
Col5,
Col6,
Col7,
Col8,
Col9,
Col10
FROM
MyTable
GROUP BY
Col1,
Col2,
Col3,
Col4,
Col5,
Col6,
Col7,
Col8,
Col9,
Col10
HAVING
COUNT(*) > 1
Vous pouvez utiliser "group by" sur toutes les colonnes, puis COUNT (*)> 1
cela fonctionne bien, n'oubliez pas d'exclure un PK synthétique si vous en avez un –
DETECT, tout groupe en tant que dit Guge.
select fieldA, fieldB, count(*) from table
group by fieldA, fieldB
having count(*) > 1
Si vous voulez supprimer ... pseudo .... dupes
select distinct into a temp table
truncate original table
select temp table back into original table
Avec troncature vous pouvez rencontrer des problèmes si vous avez des contraintes FK, donc être intelligent de laisser tomber les contraintes et faire en sorte vous ne faites pas d'enregistrements orphelins.
Essayez cette
Select * From Table
Group By [List all fields in the Table here]
Having Count(*) > 1
En plus des suggestions fournies, je serais alors aller à l'effort de prévention des doublons dans la avenir, plutôt que d'essayer de les localiser plus tard. Ceci est fait en utilisant des index uniques sur les colonnes (ou groupes de colonnes) qui sont censés être uniques. N'oubliez pas que les données de la base de données peuvent être modifiées à partir d'autres emplacements que via l'application spécifique sur laquelle vous travaillez. Il est donc préférable de définir ce qui est autorisé ou non dans une table au niveau de la base de données.
- 1. Lignes en boucle dans SQL Server
- 2. Lignes en double dans Oracle
- 3. supprimer les lignes en double
- 4. Comment supprimer des données en double dans SQL Server?
- 5. Comment conserver une seule ligne d'une table, en supprimant les lignes en double?
- 6. SSMS autorise les enregistrements en double dans une table, mais pas les mises à jour suivantes
- 7. lignes de numérotation unque dans SQL Server pour les valeurs en double
- 8. Comment supprimer plusieurs lignes dans SQL Server
- 9. Comment détecter les fichiers JAR en double dans le classpath?
- 10. Recherche d'entrées en double dans une table
- 11. Comment détecter les valeurs en double dans un tableau PHP?
- 12. Rechercher une table verrouillée dans SQL Server
- 13. Comment sélectionner les lignes d'une table qui ne correspondent pas à une autre table dans SQL?
- 14. Comment sélectionner les 10 premières lignes d'une table sans trier?
- 15. Suppression de lignes en double dans vi?
- 16. Comment éliminer les calculs en double dans SQL?
- 17. Comment renommer une table dans SQL Server Compact Edition?
- 18. SQL Server - mise à jour d'une table avec les première et dernière lignes d'une autre table
- 19. Comment puis-je supprimer les lignes en double d'un fichier?
- 20. Comment tester une fonction table dans SQL Server Management Studio?
- 21. SQL Server 2008 - à l'exception des lignes
- 22. Table Diff dans SQL Server 2000
- 23. Comment se connecter à une table dans SQL Server 2000?
- 24. Suppression des lignes en double dans Postgres
- 25. Compte plusieurs lignes dans SQL Server Query
- 26. Comment insérer unique ID composite pour Table hiérarchique (SQL Server)
- 27. Sql Server à double sous-requête
- 28. Pourquoi ai-je des lignes en double pour le même abonné dans ma table MSmerge_identity_range?
- 29. Comment détecter SQL Server Express dans le programme d'installation WiX
- 30. Comment détecter si une table comporte des lignes dans Crystal 2008
cloué ça mec .. Merci beaucoup .. – Bajji