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

Come posso eliminare le righe duplicate e mantenere la riga con un valore più alto?

delete t1 
from some_table t1
join some_table t2
  on  t2.a3 = t1.a3
  and t2.a4 > t1.a4;

Demo:http://rextester.com/RERGD32491

Ciò manterrà solo le righe con il valore più alto in A4 per A3 . È possibile che due righe con lo stesso valore in A3 hanno lo stesso valore più alto in A4 . Poiché non hai specificato cosa fare in questo caso, entrambe le righe verranno mantenute.