MySQL之 Distinct的使用及注意事项

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。

为什么这么说呢?下面给出了解释
数据库的结构如下
MySQL之 Distinct的使用及注意事项
现在我要查询不重复的密码
MySQL之 Distinct的使用及注意事项
结果和想象的一样,那么我现在要得到age的不重复的记录呢,添加字段试试
MySQL之 Distinct的使用及注意事项

结果和我们想象的不太一样,难道是作用了两个字段,要两个字段相同才算重复,插入两个相同的试试
MySQL之 Distinct的使用及注意事项
MySQL之 Distinct的使用及注意事项
测试一下,如果推测是对的,那么就只有一对相同的,如果是错误的,就有两对相同的
MySQL之 Distinct的使用及注意事项
答案是只有一对相同的,我们猜测是对的
可能你们会想,换一下distinct的位置呢,试试
MySQL之 Distinct的使用及注意事项
直接报错,哈哈
总结:distinct只能返回它的目标字段,而无法返回其它字段,如果是多个字段,它会作用于多个字段,即多个字段必须相同才算重复。