sql >> Databáze >  >> RDS >> Mysql

Dotaz k nalezení a odstranění duplicitních dat z tabulky MYSql

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.



Pokud se vám tento příspěvek líbí, nezapomeňte se přihlásit k odběru mého veřejného zápisníku pro další užitečné věci


  1. použijte proměnnou pro název tabulky v mysql sproc

  2. Jak formátovat čísla v PostgreSQL

  3. Oracle Indexy a typy indexů v oracle s příkladem

  4. Pole v klauzuli IN() Oracle PLSQL