sql >> Databasteknik >  >> RDS >> Mysql

Fråga för att hitta och ta bort dubbletter av data från MYSql-tabellen

Detta är det mycket ofta problemet att hantera dubbletter av data i mysql-tabellen, om du arbetar med stora mängder data kan du ha ställts inför detta problem, så i det här inlägget kommer jag att visa dig MYsql-frågan genom vilken du kan hitta dubblettdata och ta bort den. Detta är också den mest ställda frågan under intervjutillfället.



Anta att vi har 25 000 företag i vår databas, och det finns några dubbletter av företag i din databas. företagstabell och du vill hitta dubbletter av företag och vill ta bort helt från din företagstabell och använd sedan nedanstående mysql-frågor.

TB_FÖRETAG

ID COMPANY_NAME ADRESS CONTACT_PERSON_NAME EMAILID 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.. ...

I tabellen ovan finns dubbletter av företags HCL som vi måste hitta och ta bort.

MYSql-fråga för att hitta dubbletter av 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-fråga för att radera dubbletter av data.

DELETE C1 
FROM TB_COMPANIES C1,TB_COMPANIES C2 
WHERE C1.ID < C2.ID 
AND C1.COMPANY_NAME = C2.COMPANY_NAME

Ovan såg du, med hjälp av MYsql-underfrågan och självanslutningsfunktionen kan du enkelt skriva en fråga för att hitta och ta bort dubbletter av data.



Om du gillar det här inlägget, glöm inte att prenumerera på min offentliga anteckningsbok för mer användbara saker


  1. Bemästra användningen av stopplistor med SQL Server Full-Text Search (FTS)

  2. Anropar lagrad procedur med returvärde

  3. kan jag öppna en skrivskyddad databas från res/tillgångsmappen i Android utan att kopiera till databasmappen

  4. CHAR() Exempel i MySQL