`

distinct和group by 去掉重复数据分析

阅读更多

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp40

用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序 。

select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录

例如要显示的字段为A、B、C三个,而A字段的内容不能重复可以用下面的语句:

having [条件] order by A desc

显示出来的字段和排序字段都要包括在group by 中

如上句的min(B),min(C),count(*)

有聚合函数的条件写在having 后面

如果在上句中having加 count(*)>2 就可以查出记录A的重复次数大于2的记录

下面语句可以查询出那些数据是重复的:

将上面的>号改为=号就可以查询出没有重复的数据了。

PS:关于group by和distinct到底哪个性能好,我还是不敢太赞同网上的一些说法,自己测试才是王道。
未完,待续。。。
分享到:
评论

相关推荐

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

    3. `DISTINCT` 可以处理任何类型的查询结果,而 `GROUP BY` 更适合需要统计和分析数据的场景。 4. `DISTINCT` 适用于需要所有列都相同的去重,而 `GROUP BY` 可以根据任意列进行分组,即使这些列在其他列中有重复值...

    sql去掉重复的数据 完全相同的数据去掉重复 及优化

    这些重复数据的存在不仅会占用不必要的存储空间,还可能导致数据分析结果失真。因此,了解并掌握如何有效地删除这些重复记录是非常必要的。 #### 二、SQL去重的基本方法 ##### 2.1 使用`DISTINCT` 最简单的方式是...

    Django 解决distinct无法去除重复数据的问题

    通过上述介绍,我们可以看到,在Django中正确使用`distinct`方法以及结合SQL的`GROUP BY`和`ORDER BY`可以帮助我们有效地去除重复数据。这对于提高查询效率和准确性具有重要意义。希望这些知识点能够帮助你在实际...

    去掉重复记录select * from

    本文详细介绍了几种去除数据库表中重复记录的方法,包括使用`GROUP BY`配合子查询、`NOT IN`子查询以及`DISTINCT`关键字。每种方法都有其适用场景和局限性。选择最合适的方法取决于实际需求、数据结构以及性能要求等...

    oracle中如何删除重复数据

    在Oracle数据库中,删除重复数据是一项常见的数据清洗任务,尤其当表设计不当时,重复数据可能导致数据不一致和分析错误。以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。...

    用Distinct在MySQL中查询多条不重复记录值,绝对的物有所值

    通过上述分析,我们了解到`DISTINCT`关键字在MySQL中的运用远不止去除简单重复值这么简单,它与`GROUP BY`、`COUNT`、`GROUP_CONCAT`等其他SQL功能结合,能够应对更为复杂的查询需求,极大地提升了数据处理的灵活性...

    MySQL中Distinct和Group By语句的基本使用教程

    在MySQL数据库中,`DISTINCT`和`GROUP BY`是两个非常重要的查询语句,它们在处理数据去重和分组方面发挥着关键作用。本文将详细介绍这两个语句的使用方法。 首先,`DISTINCT`关键字是用来去除查询结果中重复记录的...

    group by用法.doc

    理解并熟练运用`GROUP BY`和相关的聚合函数、`HAVING`、`WITH ROLLUP`和`WITH CUBE`,对于进行复杂的SQL数据分析和报表生成至关重要。这些技巧可以帮助你更有效地从数据库中提取信息,满足业务分析的需求。

    oracle中使用group by优化distinct

    `DISTINCT`用于返回不重复的行,而`GROUP BY`则用于对数据进行分组并计算每个组的聚合函数(如COUNT、SUM、AVG等)。在某些情况下,`GROUP BY`可以提供与`DISTINCT`类似的结果,但效率更高。 优化策略如下: 1. **...

    如何删除表中重复数据

    在数据库管理与维护的过程中,经常会遇到表中存在重复记录的问题,这不仅会造成数据冗余、浪费存储空间,还可能导致数据分析结果失真。因此,了解如何有效地删除表中的重复数据是一项重要的技能。下面将详细介绍几种...

    【DISTINCT】优化之MySQL官方文档翻译

    在数据库查询操作中,经常需要使用`DISTINCT`关键字来去除重复记录,确保结果集中的每一条记录都是唯一的。然而,在某些场景下,使用`DISTINCT`可能会导致性能问题,尤其是在与`ORDER BY`或`LIMIT`结合使用时。为了...

    SQL 重复函数 2005

    - **组合使用**:`DISTINCT`可以与其他SQL关键字如`GROUP BY`、`HAVING`等结合使用,实现更复杂的数据筛选和统计需求。 ```sql SELECT DISTINCT column1, SUM(column2) FROM table_name GROUP BY column1; ``` #...

    SQL Server删除重复数据的几个方法

    重复数据不仅浪费存储空间,还可能导致数据分析结果出现偏差。对于SQL Server而言,有多种方法可以用来删除重复的数据,以下将详细介绍几种实用的方法。 #### 方法一:使用游标(Cursor) 这种方法通过创建一个...

    一个删选数据的例子,使用GROUP、DISTINCT实例解析

    这个案例展示了 GROUP BY 和 DISTINCT 在复杂数据筛选场景中的应用,对于理解 SQL 数据处理和数据分析能力的提升非常有帮助。在实际工作中,可以根据不同的需求灵活调整和组合这些操作,以满足各种数据查询和分析的...

    使用mysql的disctinct group by查询不重复记录

    在SQL查询中,有时我们需要获取数据表中的不重复记录,特别是在数据分析或报表生成时。MySQL提供了`DISTINCT`和`GROUP BY`两个关键字来帮助我们处理这类问题。这两个关键字各有其适用场景,但它们在某些情况下可以...

    sqlserver中distinct的用法(不重复的记录)

    在SQL Server中,`DISTINCT` 是一个非常重要的关键字,用于从查询结果中去除重复的行,确保返回的每一行都是唯一的。然而,正如描述中所提到的,当处理大量数据时,过度依赖 `DISTINCT` 可能会影响查询性能,因为它...

    MySQL高级查询之与Group By集合使用介绍

    总的来说,`GROUP BY`、`DISTINCT`、`ORDER BY`、`GROUP_CONCAT`和`WITH ROLLUP`是MySQL中进行复杂查询和数据分析的关键工具。它们可以帮助你从大量数据中提取出有意义的信息,进行统计、排序、分组和聚合,进一步...

    SQL进阶的部分使用.docx

    在SQL(Structured Query Language)中,进阶使用涵盖了多个关键概念,这些概念使得数据库操作更为高效和精确。...在实际应用中,结合其他SQL函数和子查询,这些工具能帮助你实现更高级的数据分析和处理任务。

Global site tag (gtag.js) - Google Analytics