Tecnología

Inicio

Cómo eliminar duplicados con Oracle SQL

Las probabilidades son altas de que si usted está leyendo este artículo, usted está utilizando una base de datos Oracle y ya descubrió duplicados en una o varias de las tablas. No hay que preocuparse, la eliminación de duplicados a través de su código SQL se puede hacer fácilmente. Sin embargo, como muchos buenos programadores saben, simplemente porque se puede eliminar algo no significa que usted debe.

Instrucciones

1 Cómo eliminar duplicados con Oracle SQL


Abra el editor de SQL y utilizar un estándar SQL "select" para tirar de registros de la tabla donde cree existen los duplicados. Ejemplo de código:
SQL> Seleccionar column1, columna2 de yourtablename;
En la Figura 1, las columnas "Nombre" "" UsrId se han seleccionado a partir de una tabla denominada "contacts_ersch." Tenga en cuenta esta tabla tiene columnas adicionales de información que no están siendo mostrados, tales como direcciones de correo electrónico y apellidos. Tener en cuenta que muchos puntos de datos en la fila como sea posible para garantizar la fila duplicada se trata de verdad es un duplicado.

2 Cómo eliminar duplicados con Oracle SQL


Compruebe el duplicado utilizando la función de SQL "Count". Hay multitud de formas de encontrar y comprobar los duplicados. En la figura 1, hay dos filas con el nombre de "David" y otros dos con el nombre de "Natalie". Dado que este es ejemplo hipotético, tanto David y Natalie entradas duplicadas. Comprobación de un solo punto de datos tales como nombre de pila es por lo general nunca es suficiente por lo que, de ser exhaustiva, todo el registro de contacto para cada uno de estos individuos son duplicados. La única diferencia entre los registros es el número "UsrId".
Una forma de realizar una comprobación con SQL antes de eliminar un registro duplicado es utilizar la función de SQL "Count" para encontrar el número de veces que el valor existe en una columna. La Figura 2 utiliza una variación de código para encontrar duplicados con SQL.
Algo de código, por ejemplo: SQL> Seleccionar column1,

Count (column1) As NumOccurrences
From yourtablename
Group By column1
Having (Count (column1) > 1);
3 Cómo eliminar duplicados con Oracle SQL

Eliminar la fila por duplicado utilizando un SQL "Borrar" comunicado. El código puede ser similar a esto:
SQL> Borrar de yourtablename
Donde columna2 = valor que elegir columna2
La Figura 3 muestra el uso de la columna "UsrId" y su correspondiente valor de seis para eliminar la entrada duplicada para "Natalie." Idealmente, habrá un identificador único que es parte de un registro duplicado. Un identificador único en una fila como un número de índice o número de registro, estarán mejor preparados y le permiten descifrar entre los cultivos dobles que desea eliminar.

4 Cómo eliminar duplicados con Oracle SQL


Compruebe su eliminación repitiendo el paso 1. La figura 4 muestra que con el uso del SQL "Borrar" se exponen tanto los registros duplicados para David y Natalie se han suprimido. Posteriormente, también hay una brecha aparente se muestra en los números de la columna "UsrId".