`

转SQL-group by学习

阅读更多
在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。

   在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数

   select max(sal),job emp group by job;
   (注意max(sal),job的job并非一定要出现,但有意义)

   查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数。

  select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno;

  当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件

  where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
  having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

  查询每个部门的每种职位的雇员数
  select deptno,job,count(*) from emp group by deptno,job;


转兄弟博客:
http://hejianjie.iteye.com/blog/136198
分享到:
评论

相关推荐

    this is incompatible with sql-mode=only-full-group-by

    this is incompatible with sql-mode=only-full-group-by

    SQL学习三-GROUP BY

    SQL学习三-GROUP BY

    sql-Group-by.rar_oracle

    在Oracle数据库中,GROUP BY语句是SQL查询中的一个关键组成部分,它用于对数据进行分组,以便可以对每个分组应用聚合函数,如COUNT、SUM、AVG、MAX和MIN。这个“sql-Group-by.rar_oracle”压缩包文件包含了一个名为...

    x-pack-sql-jdbc-7.4.2

    7.4.2版本确保了与多种SQL语法的兼容性,包括SELECT、INSERT、UPDATE、DELETE等基础语句,以及JOIN、GROUP BY、HAVING等复杂查询。这使得开发人员能够利用熟悉的SQL语法在Elasticsearch中进行数据操作,而无需学习新...

    sql学习 出乎意料-GROUP BY 的合并.sql

    sql学习 出乎意料-GROUP BY 的合并.sql

    SQL中GROUP BY的用法

    SQL 中 GROUP BY 的用法及聚合函数 GROUP BY 是 SQL 中的一种分组查询语句,通常与聚合函数配合使用。GROUP BY 语句根据一个或多个列将查询结果分组,并对每组计算聚合函数的值。 在使用 GROUP BY 语句时,需要...

    learn-sql-the-hard-way-笨方法学sql

    《笨方法学SQL》是一本深受读者喜爱的SQL学习书籍,其主要目标是通过实践性的方法帮助初学者深入理解和掌握SQL语言。书中的章节结构清晰,由浅入深地介绍了SQL的各种概念和技术。以下是根据提供的文件名所推测的课程...

    sqlserver+group by分组查询分页存储过程

    根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...

    SQL - Simply SQL - by rudy limeback

    第六章详细介绍了HAVING子句,它是GROUP BY子句的补充,用于进一步过滤GROUP BY的结果。 - **功能**: 与WHERE子句的区别在于,HAVING子句可以用于过滤聚合函数的结果。 - **示例**: 如何使用HAVING子句筛选出满足...

    SQL:SQL-92,SQL-99和SQL-2003的BNF语法

    例如,BNF可能会描述如何构建一个SELECT语句,包括其组成部分(如`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`等)以及这些部分如何组合。 在学习和应用这些SQL标准时,理解BNF语法对于编写正确和高效的SQL...

    elasticsearch-sql-7.9.2.0(maven包)

    它支持了大部分标准SQL特性,包括SELECT、FROM、WHERE、GROUP BY、ORDER BY等,甚至支持JOIN操作。 Maven是一个项目管理和综合工具,它帮助Java开发者管理项目的构建、报告和依赖关系。在"elasticsearch-sql-7.9....

    SQL--server 学习课件

    1. SELECT语句:用于从表中检索数据,可以使用WHERE子句过滤结果,GROUP BY和HAVING子句进行分组和条件过滤。 2. INSERT语句:向表中插入新的记录。 3. UPDATE语句:更新现有记录的数据。 4. DELETE语句:从表中删除...

    flink-sql-demo-data-part2.tar.gz

    GROUP BY L_ORDERKEY ORDER BY revenue DESC; ``` 这样的查询展示了Flink SQL如何处理复杂的数据运算,同时提供了直观的结果,帮助理解数据的结构和价值。 总结来说,“flink-sql-demo-data-part2.tar.gz”压缩包...

    SQL GROUP BY 语句

    SQL GROUP BY 语句 SQL GROUP BY 语句

    SQL-Plus Quick Reference

    `ORDER BY salary DESC`按薪资降序排列,`GROUP BY department_id`按部门ID分组。 三、数据操作 1. 插入数据:使用`INSERT INTO`语句向表中添加新记录。如`INSERT INTO employees (first_name, last_name) VALUES ...

    es-sql-site-chrome.zip

    1. **广泛兼容性**:支持多种SQL语法,包括SELECT、JOIN、GROUP BY、HAVING、LIMIT等,几乎涵盖了标准SQL的关键功能。 2. **实时查询**:由于ES的实时特性,所有查询操作都能立即返回结果,无需等待索引刷新。 3. **...

    SqlServer中Group By高级使用--Inner Join分组统计

    在SQL Server数据库管理中,Group By语句是用于对数据进行分组并计算每个组的汇总信息的关键工具。通常,我们使用聚合函数如COUNT、SUM、AVG、MIN和MAX等与Group By一起,以便对特定列进行分析。然而,当我们需要在...

    es-head-sql-chrome插件-202105.rar

    1. **SQL兼容性**:SQL-Site插件支持标准的SQL语法,包括SELECT、FROM、WHERE、GROUP BY等,使用户能像操作关系型数据库一样操作ES。 2. **实时查询**:由于Elasticsearch的实时性,SQL-Site插件提供即时反馈,无需...

    SQL语句中Group BY 和Rollup以及cube用法

    ### SQL语句中Group BY 和Rollup以及Cube用法 #### Group BY 子句 `GROUP BY`子句是SQL查询中的一个非常重要的部分,它用于将数据表中的行按照一个或多个列进行分组,使得可以对每个分组执行聚合函数(如SUM、...

    SqlServer GroupConcat

    在SQL Server中,`GroupConcat`函数是一种非常实用的功能,特别是在处理聚合数据并希望返回一组字符串,而不是单个值时。然而,与MySQL等其他数据库系统不同,SQL Server原生并不支持`GroupConcat`。因此,为了在SQL...

Global site tag (gtag.js) - Google Analytics