SQL SELECT DISTINCT 和 GROUP BY 查询无效
SQL SELECT DISTINCT and GROUP BY query not working
我有一个包含电子邮件地址和其他数据的表格。现在我想获取 table 中多次存在的所有不同性别的电子邮件地址。我尝试了以下查询:
SELECT email, COUNT(DISTINCT(gender)) FROM `email_data` WHERE COUNT(DISTINCT(gender)) > 1 GROUP BY email
我得到以下结果:#1111 - 组函数的使用无效
我尝试了不同的变体,包括按电子邮件、性别分组。但似乎没有任何效果。如果我删除它工作的查询的 WHERE 部分。有人可以帮我吗?
不能将聚合函数放在 WHERE
子句中。他们进入 HAVING
子句。但是,为此目的只比较最大值和最小值通常更有效:
SELECT email, COUNT(DISTINCT gender)
FROM `email_data`
GROUP BY email
HAVING MIN(gender) <> MAX(gender)
我有一个包含电子邮件地址和其他数据的表格。现在我想获取 table 中多次存在的所有不同性别的电子邮件地址。我尝试了以下查询:
SELECT email, COUNT(DISTINCT(gender)) FROM `email_data` WHERE COUNT(DISTINCT(gender)) > 1 GROUP BY email
我得到以下结果:#1111 - 组函数的使用无效
我尝试了不同的变体,包括按电子邮件、性别分组。但似乎没有任何效果。如果我删除它工作的查询的 WHERE 部分。有人可以帮我吗?
不能将聚合函数放在 WHERE
子句中。他们进入 HAVING
子句。但是,为此目的只比较最大值和最小值通常更有效:
SELECT email, COUNT(DISTINCT gender)
FROM `email_data`
GROUP BY email
HAVING MIN(gender) <> MAX(gender)