Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Righe duplicate

Eseguirei un cursore (con il linguaggio di programmazione MySQL SP, Java, Python, .NET) su questa query:

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

Quindi, sulle righe restituite dal cursore, fai tutto ciò che è necessario:verifica l'istanza FIN%, verifica la presenza di PersonalKey e aggiorna di conseguenza.

Per ogni riga del cursore, puoi aprire un cursore diverso con:

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

E ora avrai un cursore interno con tutte le righe che modificherai. Se è quello che ti serve, conservalo e aggiornalo con il valore KEY che hai menzionato. Altrimenti, eliminalo.

In Oracle, potresti ottenere ciò che desideri in una query, ma non credo che in questo modo otterrai le stesse prestazioni che otterresti con questo approccio.

Spero che aiuti.