많은 중복 행이있는 MySQL 테이블이 있습니다. ID를 찾고 삭제하는 방법에 대해 어떻게 할 수 있습니까? 첫 번째 lead_id를두고 다른 중복을 삭제해야합니다.다른 ID를 가진 MySQL 중복 행
그래서이 샘플에서는 중복 된 전자 메일 값을 찾아 모든 행을 삭제해야합니다. IE. 40944의 lead_id 모든 행을 삭제하고 계속 모두 내가 시도했던 40943.
id | lead_id | form |field_number | value
--------+---------------+-------+---------------+----------------------
537618 | 40943 |1 | 3.3 | Mike
537622 | 40943 |1 | 4.3 | Mesa
537623 | 40943 |1 | 4.4 | AZ
537624 | 40943 |1 | 4.5 | 85210
537625 | 40943 |1 | 4.6 | United States
537626 | 40943 |1 | 5 | [email protected]
537627 | 40943 |1 | 6 | (555) 555-5555
537628 | 40943 |1 | 19 | JM-SL-I4CLR,JM-FM-I5CLR
537629 | 40943 |1 | 12 | 2015-10-01
547618 | 40944 |1 | 3.3 | Mike
547622 | 40944 |1 | 4.3 | Mesa
547623 | 40944 |1 | 4.4 | AZ
547624 | 40944 |1 | 4.5 | 85210
547625 | 40944 |1 | 4.6 | United States
547626 | 40944 |1 | 5 | [email protected]
547627 | 40944 |1 | 6 | (555) 555-5555
547628 | 40944 |1 | 19 | JM-SL-I4CLR,JM-FM-I5CLR
547629 | 40944 |1 | 12 | 2015-10-01
:
SELECT `value`, count(*)
FROM `lead_detail`
WHERE `field_number` = 5
GROUP BY `value`
HAVING count(*) > 1
그냥하지 않도록 행을 삭제하는 방법을
value | count(*)
---------------+------------------
[email protected] | 2
결과?