Estoy seguro de que esto se ha preguntado antes, pero me estaba costando encontrarlo.Eliminar varias filas duplicadas en la tabla
Tengo múltiples grupos de duplicados en una tabla (3 registros para uno, 2 para otro, etc.) - múltiples filas donde hay más de 1.
A continuación se muestra lo que se me ocurrió para eliminarlos, pero tengo que ejecutar el script para muchos duplicados sin embargo existen:
set rowcount 1
delete from Table
where code in (
select code from Table
group by code
having (count(code) > 1)
)
set rowcount 0
Esto funciona bien hasta cierto punto. Necesito ejecutar esto para cada grupo de duplicados, y luego solo borro 1 (que es todo lo que necesito en este momento).
¡Agradezco tu ayuda/comentario!
¿Cuál de los duplicados desea conservar: el primero/más bajo, o el último/máximo? ¿Y para qué versión de SQL Server? –
O bien, la ID máxima funcionaría. SQL Server 2000 (sí, lo sé) – Dan
posible duplicado de [SQL - ¿Cómo puedo eliminar filas duplicadas?] (Http://stackoverflow.com/questions/18932/sql-how-can-i-remove-duplicate-rows) –