sql >> Database teknologi >  >> RDS >> Mysql

Forespørgsel om at finde og fjerne dublerede data fra MYSql-tabellen

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.



Hvis du kan lide dette indlæg, så glem ikke at abonnere på min offentlige notesbog for flere nyttige ting


  1. Opdel datointerval i én række om måneden i sql server

  2. Fejl ved udskrivning af REFCURSOR-variabel som OUT-parameter i procedure i Oracle 11g

  3. Transponering af dynamiske kolonner til rækker

  4. FORMAT() Eksempler i MySQL