`
z_piaoyi
  • 浏览: 22937 次
  • 性别: Icon_minigender_2
  • 来自: 河北
社区版块
存档分类
最新评论

分组函数的介绍及相关案例

SQL 
阅读更多

分组函数的介绍

分组函数作用于一组数据,并对一组数据返回一个值.

常见的分组函数有:

函数名称

函数描述

Count

返回找到的记录数

Min

返回一个数字列或计算列的最小值

Max

返回一个数字列或计算列的最大值

Sum

返回一个数字列或计算列总和

avg

返回一个数字列或计算列的平均值

分组函数的语法:

SELECT [column,] group_function(column), ... 

FROM table 

[WHERE condition]

[GROUP BY column]

[ORDER BY column];

//返回总记录数   //* 代表的是:一条记录

SQL> select count(*) from emp;

//返回comm不为空的总记录数

SQL> select count(comm) from emp;

//COUNT(DISTINCT expr) 返回 expr非空且不重复的记录总数 

SQL> select count(distinct(sal)) from emp;

注意:组函数忽略空值

//返回所有员工的平均工资   

SQL> select avg(nvl(sal,0)) from emp;

注意:NVL函数使分组函数无法忽略空值

//返回员工编号最小值   

SQL> select min(empno) from emp;

//返回员工工资最大值

SQL> select max(sal) from emp;

//求该月本公司发出的工资总额

SQL> select sum(comm)+sum(sal) from emp;

SQL> select sum(nvl(sal,0)+nvl(comm,0)) from emp;

Group by子句

 如果在查询的过程中需要按某一列的值进行分组,以统计该组内数据的信息时,就要使用group by子句。不管select是否使用了where子句都可以使用group by子句。

注意:group by子句一定要与分组函数结合使用,否则没有意义。

//求出每个部门的员工人数

SQL> select deptno,count(*) as "人数" from emp group by deptno;

//求出每个部门的员工的平均工资

SQL> select deptno,avg(nvl(sal,0)) from emp group by deptno;

//注意:group by 子句中的列不必包含在SELECT 列表中

SQL> select avg(nvl(sal,0)) from emp group by deptno;

//求出某个部门中相同职位的员工人数   group by 后可以跟多个分组的字段

SQL> select deptno,job,count(*) from emp group by deptno,job order by deptno;

非法使用组函数

1、 所用包含于SELECT 列表中,而未包含于组函数中的列都必须包含于 GROUP BY 子句中。

举例:

SQL> select empno,count(job) from emp;(错误用法)

正确写法如下:

SQL> select empno,count(job) from emp group by empno;

2、 不能在 WHERE 子句中使用组函数(注意)。

SQL> select deptno from emp where count(job)>0 group by deptno;(错误用法)

<!--EndFragment-->
分享到:
评论

相关推荐

    oracle笔记分组函数

    oracle笔记分组函数,涉及组函数案例,在使用组函数的过程中注意事项,有具体的案例说明!

    0.5 MySQL分组函数与分组查询

    在本节中,我们将详细介绍 MySQL 中的分组函数和分组查询,包括 SUM、AVG、MAX、MIN 等函数,以及 GROUP BY 语句的使用。 一、分组函数 分组函数是 MySQL 中的一种聚合函数,用于对数据进行聚合和分析。常见的分组...

    mysql常见函数介绍与案例解析.zip

    案例解析文件`mysql常见函数介绍与案例解析.sql`将包含实际的SQL语句,演示如何在实际场景中使用这些函数。通过运行这些示例,你可以更直观地了解每个函数的功能和用法。对于初学者来说,实践是掌握MySQL函数的关键...

    分析函数案例

    这里我们将深入探讨“分析函数案例”,通过梁敬彬老师的教学案例来理解这一主题。 首先,我们需要了解分析函数的基本概念。分析函数通常包含窗口函数(Window Functions),它们在SQL中执行计算时,不仅考虑当前行...

    C#设计经典案例设计与实现

    案例3 利用API函数实现动画窗体 案例4 闪烁动画窗体 案例5 滚动字幕动画窗体 案例6 超女卡通窗体 案例7 总在最前的登录窗体 案例8 在屏幕中央的圓形窗体 案例9 半透明的T形窗体 案例10 多文档MDI窗体 案例11 渐变色...

    Visual+C#+2008程序设计经典案例设计与实现.rar

    案例3 利用API函数实现动画窗体 案例4 闪烁动画窗体 案例5 滚动字幕动画窗体 案例6 超女卡通窗体 案例7 总在最前的登录窗体 案例8 在屏幕中央的圓形窗体 案例9 半透明的T形窗体 案例10 多文档MDI窗体 案例11 渐变色...

    mapreduce案例代码及案例涉及文件

    总的来说,这个"mapreduce案例代码及案例涉及文件"提供了全面的学习材料,涵盖了MapReduce的基本操作和高级特性。对于初学者来说,这是一个很好的实践平台,能够帮助他们深入理解分布式计算的核心概念,并通过实际...

    Visual C# 2008程序设计经典案例设计与实现

    案例3 利用API函数实现动画窗体 案例4 闪烁动画窗体 案例5 滚动字幕动画窗体 案例6 超女卡通窗体 案例7 总在最前的登录窗体 案例8 在屏幕中央的圓形窗体 案例9 半透明的T形窗体 案例10 多文档MDI窗体 案例11...

    触手可及的大数据分析工具_Tableau案例集

    新手上路包含两章,该部分以各行业案例为依托 ,带你从Tableau的排序、筛选、分层和分组、参数 和函数等方面来全面了解Tableau 9.0的新功能。 成功晋级包含四章,分别从不同行业的案例入手 介绍Tableau的功能。 高手...

    C# 源码 C#2008经典案例

    案例3 利用API函数实现动画窗体 案例4 闪烁动画窗体 案例5 滚动字幕动画窗体 案例6 超女卡通窗体 案例7 总在最前的登录窗体 案例8 在屏幕中央的圓形窗体 案例9 半透明的T形窗体 案例10 多文档MDI窗体 案例11 渐变色...

    sql server 常用函数 案例

    根据提供的文件信息,以下是对SQL Server常用函数及案例的详细解析: ### SQL Server 常用函数概述 #### ORDER BY 子句 - **语法**:`ORDER BY column_name [ASC | DESC]` - **作用**:用于对查询结果进行排序。 ...

    基于Jupyter Notebook 的机器学习基本模型算法介绍(附加案例)

    聚类是无监督学习的一种,旨在将相似的数据分组。K-Means是最常用的聚类算法,Scikit-learn中的KMeans类可实现。案例可能包括市场细分,将消费者分为不同群体。 8. **模型评估与调优**: 使用验证集或交叉验证来...

    python机器学习案例

    这个模型基于Sigmoid函数,将连续的线性预测转换为概率输出。在案例中,你可能会看到如何准备数据、训练模型以及评估其性能,如计算准确率、查准率、查全率和AUC-ROC曲线。 接下来是K-均值聚类(K-Means)。这是一...

    sql 小案例小案例小案例小案例

    4. **分组(GROUP BY)**:GROUP BY语句用于将数据按一列或多列进行分组,常与聚合函数(如COUNT、SUM、AVG、MAX、MIN)结合使用,如`SELECT column1, COUNT(*) FROM table_name GROUP BY column1;`。 5. **联接...

    python数据函数使用案例.rar

    本资源"python数据函数使用案例.rar"显然包含了与Python中处理数据相关的实践示例,可能涵盖了读取、清洗、转换、分析数据等多个方面。这里我们将深入探讨Python中的几个关键数据处理库以及它们的相关函数。 首先,...

    R软件的plyr教程及案例.zip

    《R软件的plyr教程及案例》 在R语言中,plyr是一个极其重要的数据分析工具包,它提供了统一的接口来处理数据集的各种操作,包括分割(split)、应用(apply)和组合(combine)。plyr包是Hadley Wickham开发的一...

    hive影评案例.zip

    标签列出了“hive”,“hadoop”,“数据仓库”,“大数据”和“big data”,这些都是与这个案例相关的关键词。Hadoop是一个开源框架,用于存储和处理大量数据,而Hive是Hadoop生态系统的一部分,专门用于数据仓库和...

    MATLAB统计分析与应用40个案例分析程序与数据-《MATLAB统计分析与应用:40个案例分析》程序与数据(2).zip

    这本书通过40个具体的案例,系统地介绍了MATLAB如何应用于各种统计方法,帮助读者掌握统计分析的基本技能并提升实际问题解决能力。其中,包含的章节涉及了方差分析、主成分分析、Copula理论、聚类分析、判别分析、...

    MySQL案例练习.rar

    包含简单查询、常用函数、分组查询、多表查询、(嵌套)子查询、分页查询、联合查询、表中数据的增删改(DML)、表和库的增删改(DDL)、数据类型、常见约束、标识列、事务(TCL)与视图、变量、存储过程、函数和流程控制等...

    Java8 流式Lambda相关案例

    在这个“Java8 流式Lambda相关案例”中,我们将深入探讨这些关键知识点。 流API是Java 8中处理集合数据的一种新方式,它提供了一种声明式的编程风格,允许我们以类似SQL的方式对集合进行操作,如过滤、映射、归约等...

Global site tag (gtag.js) - Google Analytics