Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Дублиращи се редове

Бих пуснал курсор (с език за програмиране MySQL SP, Java, Python, .NET) на тази заявка:

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

След това, на върнатите редове от курсора, просто направете каквото трябва:проверете за екземпляр FIN%, проверете за присъствието на PersonalKey и актуализирайте съответно.

За всеки ред на курсора можете да отворите различен курсор с:

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

И сега ще имате вътрешен курсор с всички редове, които ще промените. Ако е този, от който се нуждаете, запазете го и го актуализирайте с КЛЮЧОВАТА стойност, която споменахте. В противен случай го изтрийте.

В Oracle бихте могли да постигнете това, което искате с една заявка, но не мисля, че по този начин ще получите същата производителност, която бихте получили с този подход.

Надявам се да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извлека резултати като многоизмерен масив от mySQL и PHP?

  2. как да използвате LINQ to SQL с mySQL

  3. Изтриване, актуализиране с производни таблици?

  4. MySQL:връща актуализирани редове

  5. DOUBLE срещу DECIMAL в MySQL