Al trabajar con bases de datos, a menudo encuentra instancias en las que necesita encontrar filas duplicadas en una tabla de base de datos dada. Encontrar duplicados puede permitirle determinar la relación de valores idénticos para todos los valores en la tabla.
Luego puede usar la información recopilada para actuar, como eliminar los valores duplicados o moverlos a una tabla temporal, etc.
En esta publicación, aprenderemos cómo podemos encontrar valores duplicados en una tabla de Oracle usando Oracle agregado o funciones analíticas.
Configuración de la tabla de muestra y los datos
Configurar los datos de muestra con fines de ilustración para comprender mejor cómo usar las funciones de Oracle para encontrar valores duplicados.
Si tiene una tabla existente que desea usar, puede omitir esta sección. De lo contrario, ejecute la declaración a continuación para crear una tabla de muestra:
Crear pedidos de tabla_informaciónA continuación, agregue datos de muestra con valores duplicados como se muestra:
Insertar en Orders_Information (ID, Customer, Order_Date, Product_ID, Cantidad, Precio)Una vez que la tabla y los datos de muestra están listos, podemos aprender a encontrar las filas duplicadas.
Oracle encuentra filas duplicadas - función analítica
En Oracle, podemos usar la función Count () junto con la cláusula Over and Partition by para determinar el número de registros duplicados en una tabla determinada.
Tome la declaración de ejemplo que se muestra a continuación.
Seleccionar pedidos.*, Count (*) Over (Partition by Customer, Order_Date) Number_of_occurenceLa consulta anterior debe devolver la fila y el número de veces que ocurre en la tabla como se muestra:
Para obtener solo los registros que aparecen más de una vez, podemos usar una cláusula Where AS:
con item_count como (seleccionar pedidos.*, Count (*) Over (Partition by Customer, Order_Date) Number_of_occurenceProducción:
Oracle encuentra valores duplicados: función agregada
Otro método que podemos usar para encontrar registros duplicados en una tabla es el grupo por cláusula. Luego podemos determinar el número de veces que ocurre un registro dado en cada grupo utilizando la función Count (). Si una fila aparece más de una vez, es un duplicado.
Un ejemplo es como se muestra:
seleccionar *La información resultante es como se muestra:
Como podemos ver, la consulta nos permite obtener filas duplicadas de la tabla de destino.
Conclusión
En este tutorial, descubrió dos métodos principales para determinar filas duplicadas de una base de datos dada.