sql >> Base de Datos >  >> RDS >> Mysql

Filas duplicadas de MySQL

Ejecutaría un cursor (con el lenguaje de programación MySQL SP, Java, Python, .NET) en esta consulta:

select Name, Firstname, Lastname, count(1)
  from Pruebas
 group by Name, Firstname, Lastname
having count(1) > 1

Luego, en las filas devueltas por el cursor, simplemente haga lo que necesite:verifique la instancia de FIN%, verifique la presencia de PersonalKey y actualice en consecuencia.

Para cada fila del cursor, puede abrir un cursor diferente con:

select *
  from Pruebas
 where Name = the_Name
   and Firstname = the_Firstname
   and Lastname = the_Lastname

Y ahora, tendrás un cursor interno con todas las filas que modificarás. Si es el que necesita, consérvelo y actualícelo con el valor CLAVE que mencionó. De lo contrario, bórralo.

En Oracle, puede lograr lo que desea en una consulta, pero no creo que de esa manera obtenga el mismo rendimiento que obtendría con este enfoque.

Espero que ayude.