`
gaofen100
  • 浏览: 1227839 次
文章分类
社区版块
存档分类
最新评论

数据库group by使用原理分析

 
阅读更多

1.select 中出现的列,在group by后面一定要出现,但是group by中出现的分组的列不一定要在select中出现.

我们需要注意的一点是,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是目前一种分组情况只有一条记录,一个数据格是无法放入多个数值的,所以这里就需要通过一定的处理将这些多值的列转化成单值,然后将其放在对应的数据格中,那么完成这个步骤的就是聚合函数。这就是为什么这些函数叫聚合函数(aggregate functions)了。


2.where为什么要写在group by之前呢?

因为group by只能够对结果集进行处理,如果先分组后对分组之后的结果集进行在where条件下的筛选的话在查询相当于对有些没有必要分组的数据集也进行了分组了,数据小还好的,如果数据量巨大的话,那么这个多余的操作将会消耗大量的内存,而实际上多余的操作还是不要的好.

分享到:
评论

相关推荐

    简单讲解sql语句中的group by的使用方法

    SQL中的`GROUP BY`语句是数据库查询中的一个重要部分,它用于将数据按照一个或多...记住,合理使用`GROUP BY`和相关的聚合函数是数据分析和报表制作的关键步骤。希望这些信息能帮助你更好地理解和运用`GROUP BY`语句。

    group by的详解

    综上所述,`GROUP BY`和`HAVING`在Oracle数据库中是用于数据统计和分析的重要工具,正确理解并掌握它们的用法对于编写有效的SQL查询至关重要。通过合理运用这两者,数据库管理员可以生成满足各种复杂业务需求的报表...

    数据库原理.rar

    更高级的SQL特性如JOIN用于合并多个表的数据,GROUP BY用于数据分组,HAVING用于过滤分组后的数据,以及子查询和窗口函数用于更复杂的数据分析。 在设计和实现数据库系统时,性能优化是关键。这可能涉及到索引的...

    学校数据库ppt数据库原理,浅显易懂

    - 进阶操作有:JOIN(连接)、GROUP BY(分组)、HAVING(条件分组)、子查询等。 5. **数据库完整性**: - 实体完整性:确保每条记录的主键不为空且唯一。 - 参照完整性:保证引用的外键存在于参照表中。 - ...

    数据库原理与应用.rar

    3. SQL语言:熟练使用SELECT语句进行查询,学会使用JOIN操作连接不同表,以及GROUP BY和HAVING子句进行分组和过滤。还要掌握子查询、视图和存储过程的使用。 4. 安全性与权限管理:理解用户账户、角色和权限的概念...

    《数据库系统原理》原书

    SQL的查询语言中涵盖了基础的查询语句,也包括了复杂查询条件的处理、GROUP BY 和 ORDER BY 子句的应用,以及嵌入式SQL和动态SQL的相关内容。 由于提供的内容中有部分文字经OCR扫描识别不完全准确,导致出现了一些...

    数据库原理复习题数据库原理复习题

    * GROUP BY 子句:用于对查询结果进行分组。 * HAVING 子句:用于对分组结果进行过滤。 三、关系数据库设计 * 概念设计结果:一个与 DBMS 无关的概念模式。 * 逻辑设计结果:一个与 DBMS 相关的概念模式。 * 物理...

    数据库原理

    标题“数据库原理”涉及的是数据管理领域的核心概念,这些概念对于理解和操作数据库系统至关重要。...数据库原理的学习不仅帮助他们有效地使用关系数据库系统,还能够在现代大数据环境下进行高效的数据处理和分析。

    数据库原理PPT课件.zip

    学习者会接触到SELECT语句,用于从数据库中检索数据,WHERE子句用于指定查询条件,GROUP BY和HAVING子句用于数据分组,以及JOIN操作用于合并多个表的数据。 第三章:关系数据理论 关系数据理论由埃德加·科德提出,...

    数据库的原理与应用,数据库开发经典案例

    3. SELECT语句:用于查询数据,可以使用WHERE子句过滤条件,GROUP BY进行分组,ORDER BY进行排序,JOIN操作连接多个表等。 在数据库开发中,了解事务(Transaction)的概念至关重要。事务是一组逻辑操作,必须全部...

    万常选数据库系统原理与设计实验教程参考答案

    在这个实验中,学生可能被要求编写各种查询语句,如SELECT、JOIN、GROUP BY和HAVING,以熟悉数据检索、聚合和过滤等操作。例如,他们可能需要执行复杂的数据分析,包括按订单日期排序、计算每个客户的总消费等。 ...

    数据库原理与应用课件

    第05章“SQL”进一步扩展了SQL的应用,可能包含更复杂的查询技术,如联接(JOIN)、子查询、聚合函数和分组(GROUP BY)等。此外,可能还会介绍视图、索引和事务处理等概念。 第06章“存储过程和触发器”介绍了...

    数据库系统原理-实验报告

    【数据库系统原理-实验报告】 本实验主要涵盖了数据库的基本操作,包括数据库的创建、表的构建、数据的插入以及SQL查询语句的编写。实验基于IBM DB2 UDB V8.2平台,针对班级数据库进行了一系列操作,涉及学生(S)...

    数据库原理历年期末试卷(广工版)

    此外,SQL还包括更复杂的操作,如JOIN用于合并多个表的数据,GROUP BY用于数据分组,以及HAVING和WHERE子句的差异。 事务处理是数据库管理中的关键概念,确保数据的一致性和完整性。ACID(原子性、一致性、隔离性和...

    张红娟数据库原理实验-杭电-杭州电子科技大学

    通过这个实验,学生不仅能掌握SQL Server 2000的使用,还能对数据库系统有更深入的理解,为将来从事软件开发、数据分析或数据库管理等工作打下坚实的基础。杭州电子科技大学作为一所知名的工科院校,其课程设计通常...

    数据库原理与SQL Server

    在SQL Server中,我们可以使用SELECT语句来查询数据,JOIN操作来连接多个表,GROUP BY和HAVING子句进行分组和条件过滤,以及ORDER BY对结果进行排序。此外,SQL Server还支持复杂的子查询、聚合函数以及窗口函数,...

    数据库系统原理答案

    * SQL 语言的基本结构包括SELECT 语句、FROM 语句、WHERE 语句和 GROUP BY 语句。 * SQL 语言的应用包括数据查询、数据更新和数据分析。 数据库安全 * 数据库安全是指保护数据库免受未经授权的访问、修改或破坏的...

Global site tag (gtag.js) - Google Analytics