Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql Duplicate Rows (Duplikat wykryty przy użyciu 2 kolumn)

delete from myTable 
where id not in
(select min(id)
from myTable
group by A, B)

tj. select w nawiasach zwraca pierwszy identyfikator dla każdej grupy A i B; usunięcie wszystkich identyfikatorów, których nie ma w tym zestawie, usunie wszystkie wystąpienia kombinacji A-plus-B, które są „następne” po pierwszym wystąpieniu.

EDYTUJ :ta składnia wydaje się być problematyczna:zobacz raport o błędzie:

http://bugs.mysql.com/bug.php?id=5037

Możliwe obejście to:

delete from myTable 
where id not in
(
      select minid from 
      (select min(id) as minid from myTable group by A, B) as newtable
) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj wartość daty i godziny na ciąg

  2. Schemat eksportu MySql bez danych

  3. Jak porównać tylko datę i rok w php codeigniter

  4. Jak uruchomić plik *.sql mysql w mojej aplikacji c#?

  5. $stmt->close() vs $stmt->free_result()