我一直在检查stackoverflow,发现了一些类似的问题,但我认为没有得到100%的确认。
我正在尝试从MySQL数据库中选择*记录,或者*名字,姓氏... +一种不同的电子邮件。
我在数据库中有一些重复的用户,但我只想选择他们一次。除了不同的电子邮件,我还需要所有其他字段。
我已经看到像SELECT DISTINCT EMAIL,FIRSTNAME,LASTNAME这样的东西来自用户。这是准确的吗?我收到了不同数量的行,如果我只有不同的电子邮件,不同的电子邮件,名字,不同的时候不同的电子邮件,名字,姓氏等。
我认为DISTINCT (电子邮件)的结果应该与DISTINCT EMAIL,FIRSTNAME,LASTNAME,...如果这是正确查询。
在MySQL中选择这些行还有没有其他方法?
发布于 2015-06-22 20:49:54
是的,它是正确的;您应该使用DISTINCT运算符来获取唯一的数据,但唯一性取决于组合。
DISTINCT EMAIL将收到所有独特的电子邮件,但是
DISTINCT FIRSTNAME, LASTNAME将为您提供FIRSTNAME and LASTNAME的独特组合。如Adam Miller和Miller Adam不能重复。
类似地,DISTINCT EMAIL, FIRSTNAME, LASTNAME将为您提供EMAIL, FIRSTNAME, LASTNAME的组合。因此,您正在观察不同的结果计数。
发布于 2015-06-22 20:48:22
好的,GROUP BY可以解决你的问题。以下是示例代码。
SELECT * FROM USERS GROUP BY `EMAIL`这将对所有重复的电子邮件条目进行分组。
希望能对你有所帮助。
https://stackoverflow.com/questions/30980314
复制相似问题