Dette er det meget ofte problem at håndtere duplikerede data i mysql-tabel, hvis du arbejder på en enorm mængde data, har du muligvis stået over for dette problem, så i dette indlæg vil jeg vise dig MYsql-forespørgsel, hvormed du kan finde duplikerede data og fjern den. Dette er også det mest stillede spørgsmål i løbet af interviewet.
Antag, at vi har 25.000 virksomheder i vores database, og der er nogle duplikerede virksomheder i din database. virksomhedstabel og du vil finde duplikerede virksomheder og vil helt fjerne fra din virksomhedstabel, så brug nedenstående mysql-forespørgsler.
TB_COMPANIES
ID | COMPANY_NAME | ADRESSE | CONTACT_PERSON_NAME | EMAILID | TELEFONNO |
---|---|---|---|---|---|
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.. | ... |
I ovenstående tabel er der dublerede registreringer af virksomhedens HCL, vi skal finde og fjerne det.
MYSql-forespørgsel for at finde dublerede data.
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-forespørgsel for at slette duplikerede data.
DELETE C1 FROM TB_COMPANIES C1,TB_COMPANIES C2 WHERE C1.ID < C2.ID AND C1.COMPANY_NAME = C2.COMPANY_NAME |
Ovenfor så du, ved at bruge MYsql underforespørgsel og selv-join-funktion kan du nemt skrive forespørgsel for at finde og slette duplikerede data.