SQL SELECT DISTINCT和GROUP BY查询无效

时间:2015-11-17 12:20:09

标签: mysql select group-by distinct

我有一个包含电子邮件地址和其他数据的表格。现在我想让所有在不同性别的桌子中出现多次的电子邮件。我尝试了下面的查询:

SELECT email, COUNT(DISTINCT(gender)) FROM `email_data` WHERE COUNT(DISTINCT(gender)) > 1 GROUP BY email

我得到以下结果:#1111 - 无效使用群组功能

我尝试了不同的变体,包括GROUP BY电子邮件,性别。但似乎没什么用。如果我删除查询的WHERE部分它的工作原理。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

您不能将聚合函数放在WHERE子句中。他们进入HAVING条款。但是,为此目的比较最大值和最小值通常更有效:

SELECT email, COUNT(DISTINCT gender)
FROM `email_data`
GROUP BY email
HAVING MIN(gender) <> MAX(gender)