¿Cuál es la manera más eficiente de detectar duplicados en una tabla de 10 columnas/50K filas? Estoy usando MSSQL 8,0¿Cómo detectar filas duplicadas en una tabla de SQL Server?
Respuesta
Para mostrar un ejemplo de lo que otros han estado describiendo:
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
Puede utilizar "grupo por" en todas las columnas y luego contar (*)> 1
esto funciona bien, solo recuerda excluir un PK sintético si tienes uno –
para detectar, simplemente por grupo como dijo Guge.
select fieldA, fieldB, count(*) from table
group by fieldA, fieldB
having count(*) > 1
Si desea eliminar duplicados ... seudo ....
select distinct into a temp table
truncate original table
select temp table back into original table
Con truncado es posible que encuentre problemas si tiene limitaciones FK, por lo que ser inteligentes acerca de cómo quitar las limitaciones y asegurándose usted no huérfanos registros
Prueba este
Select * From Table
Group By [List all fields in the Table here]
Having Count(*) > 1
Además de las sugerencias, que luego irían a los esfuerzos de prevención de duplicados en el futuro, en lugar de tratar de localizarlos más tarde.
Esto se hace usando índices únicos en columnas (o grupos de columnas) que se supone que son únicos. Recuerde que los datos en la base de datos se pueden modificar desde otras ubicaciones que no sean a través de la aplicación específica en la que está trabajando, por lo que es mejor definir lo que está y lo que no está permitido en una tabla en el nivel de base de datos.
- 1. Eliminar filas "duplicadas" en SQL Server 2010
- 2. ¿Cómo puedo eliminar filas duplicadas en una tabla?
- 3. Eliminación de filas duplicadas de una tabla
- 4. ¿Cómo escribo una consulta SQL para detectar claves primarias duplicadas?
- 5. ¿Cómo eliminar filas duplicadas con SQL?
- 6. cómo eliminar filas duplicadas de una tabla en mysql
- 7. Eliminar varias filas duplicadas en la tabla
- 8. Cómo comparo 2 filas de la misma tabla (SQL Server)
- 9. número de filas SQL Server
- 10. Insertar varias filas en la tabla en SQL Server
- 11. Cómo eliminar filas duplicadas y actualizar la tabla
- 12. Seleccionar n filas aleatorias de la tabla de SQL Server
- 13. SQL Server copia todas las filas de una tabla a otra, es decir, una tabla duplicada
- 14. filas duplicadas en la vista de tabla en uitableviewcell
- 15. Seleccionar una fila de filas duplicadas
- 16. Asigne a una variable el número de filas que tiene una tabla en SQL Server
- 17. promedio de filas agrupadas en SQL Server
- 18. Cómo agregar una fila para todas las filas en otra tabla en SQL Server
- 19. Renombrar filas duplicadas
- 20. Número de filas 'superpuestas' en SQL Server
- 21. Obtener lista de filas duplicadas en MySQL
- 22. ¿Cómo mantener solo una fila de una tabla, eliminando las filas duplicadas?
- 23. ¿Cómo puedo transformar filas en columnas en SQL server 2005
- 24. Consolidar filas duplicadas
- 25. Tabla "Herencia" en SQL Server
- 26. ¿Cómo hacer una tabla de solo lectura en SQL Server?
- 27. ¿Cómo puedo encontrar efectivamente filas de blob duplicadas en MySQL?
- 28. Eliminar filas duplicadas y mantenga una fila
- 29. Editar filas seleccionadas manualmente en SQL Server
- 30. ¿Cómo funciona SQL Server el número estimado de filas?
Clavado, amigo ... Muchas gracias .. – Bajji