Това е много често срещаният проблем за обработка на дублиращи се данни в таблицата mysql. Ако работите върху огромно количество данни, може да сте се сблъскали с този проблем, така че в тази публикация ще ви покажа MYsql заявка, чрез която можете да намерите дублирани данни и го премахнете. Това е и най-често задаваният въпрос по време на интервюто.
Да предположим, че имаме 25 000 компании в нашата база данни и има някои дублиращи се компании във вашата таблицата на компаниите и искате да намерите дублиращи се компании и искате да премахнете напълно от таблицата на вашите компании, след което използвайте по-долу mysql заявки.
TB_COMPANIES
ID | COMPANY_NAME | АДРЕС | CONTACT_PERSON_NAME | EMAILID | PHONENO |
---|---|---|---|---|---|
1 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
2 | WIPRO | ДЕЛХИ | XXXXXXX | [email protected] | xxxxxxxx |
3 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
.. | .. | .. | .. | x.. | … |
.. | .. | .. | .. | x.. | … |
.. | .. | .. | .. | x.. | … |
В горната таблица има дублирани записи на компанията HCL, които трябва да намерим и премахнем.
MYSql заявка за намиране на дублиращи се данни.
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 заявка за изтриване на дублиращи се данни.
DELETE C1 FROM TB_COMPANIES C1,TB_COMPANIES C2 WHERE C1.ID < C2.ID AND C1.COMPANY_NAME = C2.COMPANY_NAME |
По-горе видяхте, с помощта на функцията за подзаявка и самостоятелно присъединяване на MYsql можете лесно да напишете заявка за намиране и изтриване на дублиращи се данни.