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.