我有一个表,其中包含一系列条目(标准内容,电子邮件,姓名,城市等)以及用于通知他们未来内容的订阅选项。
我想知道每个省选择了多少(订阅字段为1)。我也试图导出那个巨大的列表不同的电子邮件地址。
所以我有以下两个查询
从表中获取所有值以进行导出。
SELECT DISTINCT(email_address), first_name, last_name, street_address, city, province, postal_code, phone FROM entries WHERE subscribe='1' GROUP BY email_address
从表中获取计数(看起来像省份|#)。
SELECT province, COUNT(DISTINCT email_address) FROM entries WHERE subscribe='1' GROUP BY province;
现在我的问题是第一个查询返回1124
个结果,第二个查询加起来为1136
个结果。所以有12个条目即将到来。
我怎样才能弄清楚我的查询有什么问题或存在什么问题?
答案 0 :(得分:2)
您的问题是您在各省都有一些重复的电子邮件地址。
第一个查询消除了所有重复的电子邮件地址。第二个查询只会消除给定省份中重复的电子邮件地址
如果您不关心重复的电子邮件是哪个省,您可以删除重复的内容,如下所示:
SELECT province, COUNT(email_address)
FROM (
SELECT email_address, MAX(province) as province
FROM entries
GROUP BY email_address
)
GROUP BY province