`

distinct和group by 谁的效率高?

 
阅读更多

最好需要哪个的时候用哪个,group by是用来分组统计的,能用disitnct的地方就不要用group by 了。

分享到:
评论
1 楼 WindMill 2010-02-18  
能用disitnct的地方就不要用group by 了?????请教一下????

相关推荐

    oracle中使用group by优化distinct

    在某些情况下,`GROUP BY`可以提供与`DISTINCT`类似的结果,但效率更高。 优化策略如下: 1. **减少字段数量**:`DISTINCT`中的每个字段都会增加处理负担。如果某些字段对结果的唯一性没有贡献,可以考虑移除它们...

    使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT

    如果我们错误地使用了GROUP BY email, passwords和COUNT(*),则会得到每个组合的记录数,包括那些重复的记录。这并不是我们统计不同组合的目标结果。 在PHP中,我们通常使用mysql_num_rows()函数来获取结果集中记录...

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

    如果想去除重复值并按特定顺序排序,可以在`GROUP_CONCAT`内部使用`DISTINCT`和`ORDER BY`,如`GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')`。 `WITH ROLLUP`是`GROUP BY`的一个...

    MySQL中distinct和count(*)的使用方法比较

    关于 `DISTINCT` 的效率,虽然在某些情况下 `DISTINCT` 查询可能转化为 `GROUP BY` 形式以提高效率,但其实际性能取决于数据分布、索引使用和其他因素。通常,如果有针对查询列的合适索引,`DISTINCT` 的性能会更好...

    mysql group by 对多个字段进行分组操作

    MySQL的GROUP BY语句是数据库查询中用于对数据进行分组和聚合操作的关键部分,它允许我们基于一个或多个字段的值对数据进行汇总。在本文中,我们将深入探讨GROUP BY的基本概念、语法以及如何使用它来处理多字段分组...

    分析MySQL中优化distinct的技巧

    这里的关键在于子查询中的`SELECT DISTINCT(nick)`,它利用了MySQL将`DISTINCT`优化为`GROUP BY`的事实。优化器会使用索引来分组,这意味着对于每个唯一的`nick`值,只需要扫描索引一次,而不是扫描整个索引或数据行...

    sql 优化(适合开发数据库的人)

    本文将深入探讨由Surajit Chaudhuri和Kyuseok Shim撰写的论文《包括GROUP BY在内的查询优化》中的关键概念和技术。该论文针对现有关系数据库系统中处理GROUP BY操作的方式提出了创新性的解决方案,旨在通过调整GROUP...

    sql查询文档

    SQL查询是数据库操作的核心部分,它允许用户从数据库中检索数据、进行数据分析和更新存储...通过实践和学习,你可以进一步探索更高级的SQL概念,如联接(JOINs)、子查询、窗口函数等,以提高数据处理的效率和灵活性。

    SQL去重 清除冗余数据

    使用group by关键字也可以取得不重复的值,例如:Select name from Lin_test group by name功能同distinct,但group by的条件必须是查找出来的所有的元素。使用distinct后,Oracle就会在查找的时候对后面的字段进行...

    浅谈MySQL中group_concat()函数的排序方法

    总的来说,`GROUP_CONCAT()` 函数是MySQL中处理聚合数据的一个强大工具,结合 `ORDER BY` 子句,可以实现对合并后的值进行排序,进一步提升数据的可读性和分析效率。在进行复杂数据整理和分析时,熟练掌握这一功能将...

    SQL语句教程【经典】

    - **语法**:`SELECT column_name(s), aggregate_function(s) FROM table_name GROUP BY column_name(s) HAVING condition` - **示例**:计算`Store_Information`表中销售额大于$2000的城市。 ```sql SELECT store...

    Hive SQL性能优化

    5. **结果展示**:DISTINCT、ORDER BY和LIMIT等用于展示最终查询结果。 #### 二、Hive SQL的执行流程分析 Hive SQL的执行流程通常分为Map阶段和Reduce阶段: 1. **Map阶段**: - **表的查找与加载**:从数据源...

    T-SQL高级查询

    select count(*), (sex * id) new from student where id > 2 group by sex * id order by sex * id; --group by all 所有分组 按照年龄分组,是所有的年龄 select count(*), age from student group by all age; ...

    LINQ to SQL手册

    6. **Group By/Having**:`Group By` 将数据按指定字段分组,`Having` 则用于在分组后过滤数据,类似 `WHERE` 但针对的是分组后的结果。 7. **Exists/In/Any/All/Contains**:这些谓词用于检查条件的存在性,如 `...

    Oracle基本功

    通过连接查询找出每个部门薪水最高的人,这里使用了`JOIN`语句和`GROUP BY`子句来分组部门并找到每组的最大薪水。 ```sql SELECT ename, sal FROM emp JOIN (SELECT MAX(sal) max_sal, deptno FROM emp GROUP BY ...

    Hive高级编程经验分享.pdf

    本篇文章将深入探讨Hive的组件、MapReduce的工作原理以及Hive QL的使用,包括JOIN操作、GROUP BY聚合以及COUNT DISTINCT等高级特性。 首先,我们来看Hive的主要组件。Facebook开发的Hive包含了多个关键部分,如HDFS...

    数据库原理与运用(查询篇)

    * select 语句的基本格式:SELECT [ALL|DISTINCT] <目标列表达式> FROM <表名或视图名> [WHERE <条件表达式>] [GROUP BY <列名>] [HAVING <条件表达式>] [ORDER BY <列名> [ASC|DESC]] * 单表查询:查询仅涉及一个表...

Global site tag (gtag.js) - Google Analytics