Mysql: distinct去重 group by的区别

distinct简单来讲就是用来去重的,而group by的设计目的则是用来聚合统计的,二者在可以实现的功能上有些相同之处,但应该仔细区分。函数

单纯的去重操做使用distinct,速度是快于group by的spa

distinct支持单列、多列的去重方式。 
单列去重的方式简明易懂,即相同值只保留1个。 
多列的去重则是根据指定的去重的列信息来进行,即只有全部指定的列信息都相同,才会被认为是重复的信息。设计

group by使用的频率相对较高,但正如其功能同样,它的目的是用来进行聚合统计的,虽然也可能实现去重的功能,但这并非它的长项。select

区别:
1)distinct只是将重复的行从结果中出去;
group by是按指定的列分组,通常这时在select中会用到聚合函数。

2)distinct是把不一样的记录显示出来。
group by是在查询时先把纪录按照类别分出来再查询。

group by 必须在查询结果中包含一个汇集函数,而distinct不用。统计

相关文章
相关标签/搜索