Toto je velmi častý problém zvládnout duplicitní data v tabulce mysql, pokud pracujete na velkém množství dat, můžete se s tímto problémem potýkat, takže v tomto příspěvku vám ukážu dotaz MYsql, pomocí kterého můžete najít duplicitní data a odstraňte ji. Toto je také nejčastější otázka během rozhovoru.
Předpokládejme, že máme v databázi 25 000 společností a ve vaší databázi existují nějaké duplicitní společnosti tabulky společností a chcete najít duplicitní společnosti a chcete je úplně odstranit z tabulky společností, pak použijte níže uvedené dotazy mysql.
TB_COMPANIES
ID | COMPANY_NAME | ADRESA | CONTACT_PERSON_NAME | EMAILID | PHONENO |
---|---|---|---|---|---|
1 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
2 | WIPRO | DILLÍ | XXXXXXX | [email protected] | xxxxxxxx |
3 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
.. | ... | .. | ... | x.. | … |
.. | ... | .. | ... | x.. | … |
.. | ... | .. | ... | x.. | … |
V tabulce výše jsou duplicitní záznamy společnosti HCL, které musíme najít a odstranit.
Dotaz MYSql k nalezení duplicitních dat.
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 ) |
Dotaz MYSql k odstranění duplicitních dat.
DELETE C1 FROM TB_COMPANIES C1,TB_COMPANIES C2 WHERE C1.ID < C2.ID AND C1.COMPANY_NAME = C2.COMPANY_NAME |
Výše jste viděli, pomocí dílčího dotazu MYsql a funkce vlastního připojení můžete snadno napsat dotaz, abyste našli a odstranili duplicitní data.