MySQL DISTINCT一列选择所有

时间:2015-06-22 12:43:28

标签: mysql

我一直在检查stackoverflow并发现了一些类似的问题,但我认为不是100%确认。

我正在尝试从MySQL db * *或firstname,lastname ... + DISTINCT电子邮件中选择*记录。

我在数据库中有一些重复的用户,但我只想选择一次。除了不同的电子邮件,我还需要所有其他领域。

我看过类似SELECT DISTINCT EMAIL,FIRSTNAME,LASTNAME来自用户的内容。 这准确吗?如果我只发送不同的电子邮件,我会收到不同的行数,不同的是DISTINCT EMAIL,FIRSTNAME,当DISTINCT EMAIL,FIRSTNAME,LASTNAME等时有所不同。

我认为对于DISTINCT(EMAIL)和DISTINCT EMAIL,FIRSTNAME,LASTNAME,......的结果应该是相同的......如果这是正确的查询。

你有没有其他方法在MySQL中选择那些行?

2 个答案:

答案 0 :(得分:1)

是的,这是正确的;您应该使用DISTINCT运算符来获取唯一数据,但唯一性取决于组合。

DISTINCT EMAIL将获得所有唯一的EMAIL,但

DISTINCT FIRSTNAME, LASTNAME会为您提供FIRSTNAME and LASTNAME的独特组合。与Adam MillerMiller Adam类似,可能不重复。

同样,DISTINCT EMAIL, FIRSTNAME, LASTNAME会为您提供EMAIL, FIRSTNAME, LASTNAME的组合。因此,您正在观察不同的结果计数。

答案 1 :(得分:0)

GROUP BY可以解决您的问题。这是示例代码。

SELECT * FROM USERS GROUP BY `EMAIL`

这将对电子邮件的所有重复条目进行分组。

希望它对你有所帮助。