As the topic sugests I want to select all emails in the list. But limit the number of emails with the same domain.
Lets say i have 500 gmail adressses.
And 2 example.com adresses.
.. and so on..
I want to just grab 2 of each adress with the same domain.
With this string i can select the number of domains that accurs on each domain so maybe I can do something with this string.
x
SELECT substring_index(email, '@', -1), COUNT(*) FROM emaillist GROUP
BY substring_index(email, '@', -1);
Please help!
Advertisement
Answer
SELECT
MIN(email) AS address1
IF(MAX(email)==MIN(email),NULL,MAX(email)) AS address2
FROM emaillist
GROUP BY substring_index(email, '@', -1);
and if you want them in one column
SELECT MIN(email) AS address1
FROM emaillist
GROUP BY substring_index(email, '@', -1)
UNION
SELECT MAX(email) AS address1
FROM emaillist
GROUP BY substring_index(email, '@', -1)