Du kan bruge en samlet funktion til at få den mere 'relevante' post for hver e-mail.
Jeg tror, at denne forespørgsel vil give dig det bedste resultat:
SELECT emailAddress, max(concat(fullName,',',address1,',',address2))
FROM table
GROUP BY emailAddress
Det vil returnere den rigeste række for hver e-mailadresse, men alle data vil blive returneret inden for en streng (kommasepareret), så du bliver nødt til at parse det på en eller anden måde.
Hvis ydeevne ikke er noget problem, og du gerne vil have et normalt resultat angivet i separate felter, kan du vælge et:
SELECT table.emailAddress, fullName, address1, address2
FROM
table JOIN
(SELECT emailAddress,
max(concat(fullName,address1,address2)) as bestRowInOneString
FROM table
GROUP BY emailAddress
) bestRowsSubQuery
ON
concat(table.fullname,table.address1,table.address2) = bestRowsSubQuery.bestRowInOneString
AND table.emailAddress = bestRowsSubQuery.emailAddress