Uma solução SQL Server
WITH T ([Data], [Mail])
AS (SELECT 1,'[email protected],[email protected]' UNION ALL
SELECT 2,'[email protected],[email protected]')
SELECT address AS Mail,
COUNT(*) AS [Count]
FROM T
CROSS APPLY (SELECT CAST('<m>' + REPLACE([Mail], ',', '</m><m>') + '</m>'
AS XML
) AS x) ca1
CROSS APPLY (SELECT T.split.value('.', 'varchar(200)') AS address
FROM x.nodes('/m') T(split)) ca
GROUP BY address