आप प्रत्येक ईमेल के लिए अधिक 'प्रासंगिक' रिकॉर्ड प्राप्त करने के लिए एक समग्र फ़ंक्शन का उपयोग कर सकते हैं।
मुझे लगता है कि इस क्वेरी से आपको सबसे अच्छा परिणाम मिलेगा:
SELECT emailAddress, max(concat(fullName,',',address1,',',address2))
FROM table
GROUP BY emailAddress
यह प्रत्येक ईमेल पते के लिए सबसे अमीर पंक्ति लौटाएगा लेकिन सभी डेटा एक स्ट्रिंग (अल्पविराम से अलग) के भीतर वापस कर दिया जाएगा, इसलिए आपको इसे किसी भी तरह से पार्स करना होगा।
यदि प्रदर्शन कोई समस्या नहीं है और आप अलग-अलग क्षेत्रों में एक सामान्य परिणाम सेट करना चाहते हैं तो आप एक के साथ जा सकते हैं:
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