Dies ist das sehr häufige Problem beim Umgang mit doppelten Daten in MySQL-Tabellen. Wenn Sie mit großen Datenmengen arbeiten, sind Sie möglicherweise mit diesem Problem konfrontiert. In diesem Beitrag werde ich Ihnen also eine MYsql-Abfrage zeigen, mit der Sie doppelte Daten finden können und entfernen Sie es. Dies ist auch die am häufigsten gestellte Frage während des Vorstellungsgesprächs.
Angenommen, wir haben 25.000 Unternehmen in unserer Datenbank, und es gibt einige doppelte Unternehmen in Ihrer Firmentabelle und Sie möchten doppelte Firmen finden und vollständig aus Ihrer Firmentabelle entfernen, dann verwenden Sie die folgenden MySQL-Abfragen.
TB_UNTERNEHMEN
ID | COMPANY_NAME | ADRESSE | CONTACT_PERSON_NAME | E-MAIL-ID | TELEFON |
---|---|---|---|---|---|
1 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
2 | WIPRO | DELHI | XXXXXXX | [email protected] | xxxxxxxx |
3 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
.. | .. | .. | .. | x.. | … |
.. | .. | .. | .. | x.. | … |
.. | .. | .. | .. | x.. | … |
In der obigen Tabelle gibt es doppelte Einträge der Firma HCL, die wir finden und entfernen müssen.
MYSql-Abfrage, um doppelte Daten zu finden.
SELECT COMPANY_NAME FROM TB_COMPANIES WHERE COMPANY_NAME IN ( SELECT COMPANY_NAME FROM TB_COMPANIES GROUP BY COMPANY_NAME HAVING COUNT( COMPANY_NAME ) >1 ) |
MYSql-Abfrage zum Löschen doppelter Daten.
DELETE C1 FROM TB_COMPANIES C1,TB_COMPANIES C2 WHERE C1.ID < C2.ID AND C1.COMPANY_NAME = C2.COMPANY_NAME |
Oben haben Sie gesehen, dass Sie mit der MYsql-Unterabfrage und der Self-Join-Funktion ganz einfach eine Abfrage schreiben können, um doppelte Daten zu finden und zu löschen.