2017-05-12 1 views
0

Dies ist meine MySQL-Tabelle.Entfernen Sie doppelte Zeilen von MySql

m_Id | m_Mobile | m_ReceiveFromBranch 
________________________________________ 
1  12345  1 
2  12345  5 
3  12345  1 //->Duplicate of m_Id 1 
4  99999  1 
5  88888  2 
6  88888  5 
7  88888  2 //->Duplicate of m_Id 5 

...

Wie kann ich Duplikate Löschen nur Zeilen? Ich habe mehr als 10 Tausend Zeilen mit vielen Duplikaten.

+0

Sie diese URL folgen: http://stackoverflow.com/questions/4685173/delete-all-duplicate-rows-except-for-one-in-mysql –

+0

@BikashPaul Ich möchte die Reihen mit 'm_Mobile' mit distinct' m_ReceiveFromBranch' behalten –

+0

Normalerweise würden Sie das mit einer exes-Klausel lösen, aber ich kann meine Antwort nicht mehr posten. Wie auch immer, die Lösung, die mit Arbeiten verbunden ist, auch. –

Antwort

1

Versuchen Sie, diese

DELETE a 
FROM mytable as a, mytable as b 
WHERE 
    (a.m_mobile = b.m_mobile) 
AND (a.m_ReceiveFromBranch = b.m_ReceiveFromBranch) 
AND a.ID < b.ID; 
+0

Wie kann ich löschen? –

+0

Check: DELETE eine FROM mytable als a, Mytable als b WHERE (a.m_mobile = b.m_mobile) UND (a.m_ReceiveFromBranch = b.m_ReceiveFromBranch) UND a.ID