У меня есть строка mysql, которая я пытаюсь получить определенное количество адресов электронной почты, сгруппированных по провинции. И это, кажется, дает странные ценности.MySQL странные вещи, происходящие
Если я делаю следующее (сосчитать различные адреса электронной почты для провинции) для каждой провинции
SELECT COUNT(DISTINCT(email_address)) as COUNT
FROM entries
WHERE subscribe='1'
AND province='ns'
и добавить их все. Я получаю число, которое примерно 200 больше, чем если бы я просто
SELECT COUNT(DISTINCT(email_address)) as COUNT
FROM entries
WHERE subscribe='1'
, который также соответствует
SELECT COUNT(DISTINCT(email_address)) as COUNT
FROM entries
WHERE subscribe='1'
AND province IN('ns','nb','pei')
, но не соответствует
SELECT COUNT(DISTINCT(email_address)) as COUNT
FROM entries
WHERE subscribe='1'
GROUP BY province
если я
SELECT COUNT(DISTINCT(email_address)) as COUNT
FROM entries
WHERE subscribe='1'
Итак, 2-й и 4-й матч, а 1 и 3 и 5 - совпадают. Но 2-й/4-й - 200 больше, чем 1-й/3-й/5-й.
Все, что я хочу, это количество различных адресов электронной почты, в которых подписано 1 группа по провинции. И это кажется невозможным.
то же самое электронная почта зарегистрирована в нескольких провинциях? вы не можете сравнивать разные версии вместе, так как вы меняете фундамент, на котором основаны подсчеты. с + без группировки действительно сильно меняет условия. –