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

¿Cómo elimino las filas duplicadas y mantengo la fila con un valor más alto?

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

Demostración:http://rextester.com/RERGD32491

Esto solo mantendrá las filas con el valor más alto en A4 por A3 . Es posible que dos filas con el mismo valor en A3 tienen el mismo valor más alto en A4 . Dado que no especificó qué hacer en ese caso, se mantendrán ambas filas.