【发布时间】:2013-02-27 00:37:48
【问题描述】:
我有一个 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 个比第 1/3/5 个多 200 个。
我想要的只是不同电子邮件地址的数量,其中 subscribe 是 1 按省分组的。而且似乎是不可能得到的。
【问题讨论】:
-
同一个邮箱在多个省份注册?您无法真正比较各种版本,因为您正在更改计数所基于的基础。有+无分组确实会极大地改变条件。