Mysql中distinct与group by的去重方面的区别

 更新时间:2020年03月11日 08:39:48   作者:Gotcha_  
distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计。

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

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

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

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

区别:

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

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

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

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

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

到此这篇关于Mysql中distinct与group by的去重方面的区别的文章就介绍到这了,更多相关distinct与group by的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL查询多个字段的最大值的方法

    MySQL查询多个字段的最大值的方法

    MySQL作为最流行的关系型数据库管理系统之一,在数据存储与查询方面拥有广泛的应用,本文将深入探讨MySQL中查询多个字段最大值的方法,并通过实际案例展示这些方法在不同场景下的应用,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • 全面详解MySQL单行函数分析

    全面详解MySQL单行函数分析

    MySQL常见的函数分为单行函数和分组函数,单行函数包含字符函数、数学函数、日期函数、流程控制函数等,下面就详细的来介绍一下MySQL单行函数
    2023-10-10
  • MySQL查看event执行记录的实现

    MySQL查看event执行记录的实现

    在使用EVENT的过程中,我们可能会需要查看EVENT的执行记录,以便了解它们是否按预期执行,本文就来介绍一下MySQL查看event执行记录的实现,感兴趣的可以了解一下
    2023-11-11
  • MySQL导出sql脚本文件操作指南

    MySQL导出sql脚本文件操作指南

    mysql数据库是非常常用的一种数据库,属于中小型数据库,常用于网站业务和一些WEB系统业务,下面这篇文章主要给大家介绍了关于MySQL导出sql脚本文件操作的相关资料,需要的朋友可以参考下
    2023-01-01
  • mysql查看用户权限常用的方法

    mysql查看用户权限常用的方法

    MySQL是一个流行的开源关系型数据库管理系统,具有强大的功能和灵活的用户权限控制机制,这篇文章主要给大家介绍了关于mysql查看用户权限常用的方法,需要的朋友可以参考下
    2024-03-03
  • mysql通过binlog定时备份数据库与恢复的方法

    mysql通过binlog定时备份数据库与恢复的方法

    这篇文章主要介绍了mysql通过binlog定时备份数据库与恢复的方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • MySQL报错:sql_mode=only_full_group_by的4种轻松解决方法(含举例)

    MySQL报错:sql_mode=only_full_group_by的4种轻松解决方法(含举例)

    今天学mysql函数的时候在自己服务器上的MySQL碰见了个奇怪的问题,下面这篇文章主要给大家介绍了关于MySQL报错:sql_mode=only_full_group_by的4种轻松解决方法,需要的朋友可以参考下
    2023-01-01
  • 磁盘写满导致MySQL复制失败的解决方案

    磁盘写满导致MySQL复制失败的解决方案

    这篇文章主要介绍了磁盘写满导致MySQL复制失败的解决方案,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-04-04
  • 解决mysql数据库数据迁移达梦数据乱码问题

    解决mysql数据库数据迁移达梦数据乱码问题

    最近接手一个java项目,需要进行重构,使用国产数据库达梦8替换mysql数据库需要满足这个要求,在迁移过程中遇到mysql数据库数据迁移达梦数据乱码问题,怎么解决呢,下面把过程分享给大家一起看看吧
    2021-08-08
  • MySQL中insertOrUpdate的功能实现方式

    MySQL中insertOrUpdate的功能实现方式

    文章介绍了MySQL中实现`insertOrUpdate`功能的`INSERT INTO...ON DUPLICATE KEY UPDATE`语句,并探讨了其工作原理、执行流程以及潜在的死锁问题,同时,还提到了类似SQL语句如`REPLACE INTO`和`INSERT IGNORE INTO`的区别,并讨论了主键跳跃的现象
    2025-12-12

最新评论