sql >> Database >  >> RDS >> Mysql

Hoe verwijder ik dubbele rijen en behoud ik de rij met een hogere waarde?

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

Dit houdt alleen rijen met de hoogste waarde in A4 per A3 . Het is mogelijk dat twee rijen met dezelfde waarde in A3 hebben dezelfde hoogste waarde in A4 . Aangezien je niet hebt opgegeven wat je in dat geval moet doen - beide rijen blijven behouden.




  1. Rijen retourneren die alfanumerieke tekens bevatten in SQLite

  2. MySQL-gegevens naar JSON via PHP

  3. MySql, een string splitsen en in de tabel invoegen

  4. Hoe een nolock-hint te forceren voor aanmeldingen op de sql-server