Поле MySQL Query to Count Unique Domains from Email Address

Я хотел бы получить лучшее представление, каких доменов мои клиенты используют. Я мог легко сделать это в PHP explodeлуг каждый адрес и подсчет домена тот путь. Но я задаюсь вопросом, существует ли способ получить эту информацию только с простым запросом MySQL?

Это - то, на что был бы похож демонстрационный вывод:

gmail.com | 3942

yahoo.com | 3852

hotmail.com | 209

... и так далее, где первый столбец является доменом адресов электронной почты, и 2-й столбец является количеством адресов в том домене.

32
задан Ian 13 March 2010 в 23:13
поделиться

2 ответа

Вы нужно будет сделать что-то вроде этого:

SELECT substring_index(email, '@', -1) domain, COUNT(*) email_count
FROM table
GROUP BY substring_index(email, '@', -1)

-- If you want to sort as well:
ORDER BY email_count DESC, domain;
83
ответ дан 27 November 2019 в 20:05
поделиться

Как насчет чего-нибудь вроде

SELECT COUNT(DISTINCT [what you want])
FROM MyTable

COUNT (DISTINCT expr, [expr ...])

-1
ответ дан 27 November 2019 в 20:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: