distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计。

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

distinct

distinct支持单列、多列的去重方式。

单列去重的方式简明易懂,即相同值只保留1个。

多列的去重则是根据指定的去重的列信息来进行,即只有所有指定的列信息都相同,才会被认为是重复的信息。

干巴巴的说不好理解,示例一下:

示例数据表中的数据:

mysql> select * from talk_test;

+----+-------+--------+

| id | name | mobile |

+----+-------+--------+

| 1 | xiao9 | 555555 |

| 2 | xiao6 | 666666 |

| 3 | xiao9 | 888888 |

| 4 | xiao9 | 555555 |

| 5 | xiao6 | 777777 |

+----+-------+--------+

进行单列去重后的结果:

mysql> select distinct(name) from talk_test;

+-------+

| name |

+-------+

| xiao9 |

| xiao6 |

+-------+

2 rows in set (0.01 sec)

mysql> select distinct(mobile) from talk_test;

+--------+

| mobile |

+--------+

| 555555 |

| 666666 |

| 888888 |

| 777777 |

+--------+

**只会保留指定的列的信息

进行多列去重后的结果:

mysql> select distinct name,mobile from talk_test;

+-------+--------+

| name | mobile |

+-------+--------+

| xiao9 | 555555 |

| xiao6 | 666666 |

| xiao9 | 888888 |

| xiao6 | 777777 |

+-------+--------+

**只有所有指定的列信息都相同,才会被认定为重复的信息

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

https://www.cnblogs.com/shamo89/tag/mysql/default.html

java 数组 distinct_去重是distinct还是group by?相关推荐

  1. 去重是distinct还是group by?

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...

  2. distinct去重多个字段_sql中去重是distinct还是group by?

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...

  3. Mysql去重查询---DISTINCT、group by

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 DISTINCT 语法: 关键词 distinct用于返回唯一不同的值. 表结构 案例 SELECT DISTINCT ag ...

  4. java 数组合并 去重_Java集合与数组去重

    集合去重 方法一:利用集合的contains方法,创建临时集合组装数据去重 public void listTest1(){ System.out.println("方法一"); ...

  5. 带你重新认识ZooKeeper!java数组合并去重

    主要内容 本文是从大型互联网系统的应用角度探讨分布式缓存的.本文站在原理.框架.架构.案例等多个视角对分布式缓存进行了探讨. 互联网系统随着容量需求的陡增,许多看似简单的存储类场景都面临着巨大的容量问 ...

  6. php数据group去重,MongoDB_Mongodb聚合函数count、distinct、group如何实现数据聚合操作, 上篇文章给大家介绍了Mong - phpStudy...

    Mongodb聚合函数count.distinct.group如何实现数据聚合操作 上篇文章给大家介绍了Mongodb中MapReduce实现数据聚合方法详解,我们提到过Mongodb中进行数据聚合操 ...

  7. (PASS)JAVA数组去重 三种方法 (不用集合)

    第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01;import java.sql.Array; import ...

  8. mysql去重查询group_MySQL distinct 与 group by 去重(where/having)

    MySQL中常用去重复数据的方法是使用 distinct  或者 group by ,以上2种均能实现,但2者也有不同的地方. distinct 特点: 如:select distinct name, ...

  9. Java有序数组——原地去重——不使用额外空间

    Java数组去重 Java有序数组--原地去重--不使用额外空间 1. 题目: 2. 示例: 3. 思路: 4. 源码 5. 运行结果: 6. 拓展 Java有序数组--原地去重--不使用额外空间 1 ...

最新文章

  1. mysql课程id数据类型_数据库学习之六:mysql数据类型
  2. java地图上标记_绘制点标记-在地图上绘制-开发指南-Android 地图SDK | 高德地图API...
  3. mysql 查询商品列表 显示tag_javascript - MYSQL——怎么一个sql语句查询出用户和用户商品的列表啊...
  4. vs2010 出错:error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  5. MATLAB中用FDATool设计滤波器及使用
  6. Python内置数据类型之list
  7. 在数组中查找指定元素_JavaScript之学underscore在数组中查找指定元素
  8. Android开发者指南(25) —— Resource Types - Style
  9. this.fields.get(c) is undefined
  10. Mysql指定编码导入导出数据
  11. delphi 热成像摄像机源代码_红外热成像技术广泛应用于夜间及恶劣气候下目标的监控...
  12. ios备忘录下载安卓版_IOS版+安卓版,全下载注册教程
  13. java api1.8中文版(由谷歌,百度,有道,必应翻译)
  14. 姓名常用汉字代码查询器
  15. C2P工业云进销存管理有什么优势?
  16. 计算机社团闯关游戏,计算机协会社团文化节小游戏
  17. 10月10日第壹简报,星期一,农历九月十五
  18. 京东注册页面简单html代码,(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看...
  19. ROS 学习踩坑笔记5-Intel D435相机不发布点云,在RVIZ中,不显示点云(wants topic /image/compressed to have datatype/md5sum)
  20. 张雪峰:创业团队极速发展过程中的分分合合

热门文章

  1. ViewPager+Fragment
  2. ftp 出现Passive mode refused 解决办法
  3. 《小王爱迁移》文章链接
  4. WinForm在窗体中嵌入窗体
  5. Go秒杀系统——RabbitMQ核心概念与工作模式
  6. GoLang定时器实现原理
  7. java -- 函数/方法
  8. B. Frog Traveler(cf)bfs
  9. hibernate完整jar包下载
  10. SIR SIRE 传染病预测模型与代码应用之概念篇