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

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

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

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

区别:

1)distinct只是将重复的行从结果中出去;

group by是按指定的列分组,一般这时在select中会用到聚合函数。

2)distinct是把不同的记录显示出来。

group by是在查询时先把纪录按照类别分出来再查询。

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

更多相关文章

  1. android上一些方法的区别和用法的注意事项
  2. Android中的FILL_PARENT与WRAP_CONTENT的区别
  3. [Android] ACTION_GET_CONTENT与ACTION_PICK的区别
  4. android上一些方法的区别和用法的注意事项
  5. linearLayout 和 relativeLayout的属性区别
  6. 【Android】loadData与loadDataWithBaseURL的区别
  7. Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
  8. 无法找到“android:Theme.Holo.Light.DarkActionBar“的问题
  9. Android中的getApplication()、getApplicationContext的区别与用

随机推荐

  1. 浅谈Android Surface机制
  2. Android的闹钟管理类
  3. 9.RatingBar
  4. Android系列教程:TextView小组件的使用--
  5. android-RadioButton背景使用图片
  6. Unity2019通过unity获取Android动态权限(
  7. 为Android应用程序添加两个入口
  8. Ubuntu搭建Android交叉编译环境
  9. Android强制为自身应用设置实现多语言
  10. Execution failed for task ':app:preDeb