Sobes.tech
Middle

¿Cómo limpiar una tabla de datos duplicados en SQL?

sobes.tech AI

Respuesta de la IA

Para limpiar una tabla de registros duplicados en SQL, generalmente se utiliza un enfoque que elimina las filas repetidas, dejando solo una entrada única. Una de las formas más comunes es usar CTE (Expresión de Tabla Común) con la función ROW_NUMBER() para numerar los duplicados y eliminar todos excepto el primero.

Ejemplo para SQL Server o PostgreSQL:

WITH CTE AS (
  SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2, column3 ORDER BY id) AS rn
  FROM tu_tabla
)
DELETE FROM tu_tabla
WHERE id IN (
  SELECT id FROM CTE WHERE rn > 1
);

Aquí, column1, column2, column3 son un conjunto de columnas que determinan un duplicado, y id es el identificador único de la fila.

Si el SGBD no soporta CTE, se puede usar una tabla temporal o subconsultas. Es importante primero definir los criterios de unicidad para eliminar correctamente los duplicados.