1

我有一张表格,里面有一堆条目(标准的东西、电子邮件、姓名、城市等),还有一个订阅选项,用于通知他们未来的东西。

我正在尝试找出每个省选择加入的数量(订阅字段为 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 个条目。

我怎样才能弄清楚发生了什么或者我的查询有问题或其他什么?

4

1 回答 1

2

你的问题是你有一些跨省重复的电子邮件地址。

第一个查询消除了所有重复的电子邮件地址。第二个查询只会消除给定省份内的重复电子邮件地址

如果您不关心重复电子邮件被计入哪个省份,您可以像这样消除重复邮件:

SELECT province, COUNT(email_address)
FROM (
  SELECT email_address, MAX(province) as province
  FROM entries
  GROUP BY email_address
)
GROUP BY province
于 2012-12-11T20:13:24.433 回答