Skip to main content

Best way to find duplicate records in a table on database

Method 1:
The method will display group wise duplicate leads.

SELECT
    eabhyasa_id, eabhyasa_name, eabhyasa_email, eabhyasa_mobile,stage_name,count(*) no_of_records
FROM rns_leads as L
    left join rns_stages as S on S.stg_id= E.eabhyasa_stg_id
GROUP BY eabhyasa_email, eabhyasa_mobile HAVING count(*) > 1 

Method 2:
The below method will display all duplicate leads

SELECT L.eabhyasa_id, L.eabhyasa_fname, L.eabhyasa_email, L.eabhyasa_mobile,S.stg_name,
case
when E.eabhyasa_cp_type=0 then "-"
when E.eabhyasa_cp_type=1 then "Fssess"
when E.eabhyasa_cp_type=2 then "full"
when E.eabhyasa_cp_type=3 then "part1"
when E.eabhyasa_cp_type=4 then "part2"
when E.eabhyasa_cp_type=5 then "part3"
when E.eabhyasa_cp_type=6 then "part4"
end as Payment_Stage
FROM
rns_leads L
left join gti_stages as S on S.stg_id= E.eabhyasa_stg_id
INNER JOIN (
SELECT eabhyasa_email, eabhyasa_mobile,count(*) no_of_records
FROM gti_evaluations
GROUP BY eabhyasa_email, eabhyasa_mobile
HAVING COUNT(*) > 1) temp
ON temp.eabhyasa_email = E.eabhyasa_email AND temp.eabhyasa_mobile = E.eabhyasa_mobile
ORDER BY eabhyasa_email, eabhyasa_mobile

Comments