【Oracle】第五单元 分组计算函数和GRPOUP BY子句

分组函数 所有的分组函数都是对“某一组”数据进行操作的 count 计数 sum 求和 avg 平均值 max 最大值 min 最小值 阅读详情

分组计算函数
函数
求和SUM
求平均值AVG
计数COUNT
求标准差STDDEV
求方差VARIANCE
求最大值MAX
求最小值MIN

示例:

SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary)
  FROM employees
 WHERE job_id LIKE '%REP%';
SELECT MIN(hire_date), MAX(hire_date) FROM employees;
COUNT函数
函数用法说明
count(*)返回满足选择条件的所有行的行数,包括值为空的行和重复的行
count(expr)返回满足选择条件的且表达式不为空行数
count(DISTINCT expr)返回满足选择条件的且表达式不为空,且不重复的行数

示例

 select count(*) from employees e;
select count(1) from employees e;

所有行数(上面俩个结果相同,1与*一样)

 select count(e.department_id) from employees e;

所有不为空的行数

 select count(distinct e.department_id) from employees e;

所有不为空且不重复的行数

当分组计算函数遇到NULL
select (select sum(commission_pct) from employees) /
       (select count(*) from employees)
  from dual

等价于

SELECT AVG(NVL(commission_pct, 0)) FROM employees;
使用GROUP BY子句分组:
1、可以按照某一个字段分组,也可以按照多个字段的组合进行分组
SELECT AVG(salary), department_id FROM employees GROUP BY department_id;
SELECT department_id dept_id, job_id, SUM(salary)
  FROM employees
 GROUP BY department_id, job_id;
2、SELECT 查询语句中同时选择分组计算函数表达式和其他独立字段时 ,其他字段必须出现在Group By子

句中,否则不合法

SELECT department_id, count(last_name)
  FROM employees
 GROUP BY department_id;
3、不能在Where 条件中使用分组计算函数表达式,当出现这样的需求的时候,使用Having 子句
SELECT department_id, AVG(salary)
  FROM employees
 GROUP BY department_id
HAVING AVG(salary) > 8000;
4、分组计算函数也可嵌套使用
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;

注:获取最高的部门平均薪水

5、排序后取第一行的值
select * from (select count(to_char(e.hire_date,'DAY')) as dd
 from employees e
 group by to_char(e.hire_date,'DAY') order by dd) a where rownum=1

注:rownum可等于任何数,就是多少行

匹配博弈双边选择算法 刚学图论匹配方面的一些知识,记录下来。 阅读详情

相关推荐

SpotBugs实战:10大类Bug检测规则详解与代码优化实例(附避坑清单)

本文深入解析SpotBugs在Java开发中的实战应用,详细讲解10大类Bug检测规则与代码优化实例,包括NPE防御、多线程安全、性能优化等关键问题。通过具体代码示例和避坑清单,帮助开发者提升代码质量,有效集成到CI/CD流程中。

weixin_42665255的博客 196

分组函数~

五种分组函数:sum、avg、max、min、count 参数支持哪些类型: sum、avg用于处理数值型 max、min、count用于处理任何类型 以上分组函数都忽略null值、可以和distinct搭配实现去重的运算 和分组函数一同查询的字段要求是group by后的字段 count函数的详细介绍: 一般使用count(*)来统计总行数 count(字段): 统计该字段非空集的个数 group by分组函数:(红色数字为执行顺序) select 分组函数,列(要求出现在group by 后面)

zhc1518171的博客 1334

Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟

当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理

qq_31918049的博客 2902

excel如何分组求和

接下来,进行求和计算各自的总销量,在总销量列,利用SUMIF函数进行求和,在F2单元格输入=SUMIF($B$2:$B$8,E2,$C$2:$C$8),这里稍微解释一下参数设置,$B$2:$B$8代表想要搜索的区域,E2表示对照的条件单元格,$C$8表示想要进行计算的单元格,总体解释为如果$B$2:$B$8区域值等于E2单元格,就对$C$8区域中所对应的单元格进行计算,最后结果返回到F2单元格。在进行分组求和前,先解释一下下面将要用到的两个函数,以便大家能够对于用到的函数理解深刻。

以为在机器学习领域与人工智能领域深耕多年的老牛 4151

数据库迁移策略实战:MySQL到PostgreSQL

数据库迁移是一项复杂且细致的任务,需要充分的准备工作、合适的迁移策略和严格的验证与优化步骤。通过选择合适的迁移工具、进行手动迁移和应用程序适配、以及迁移后的验证与优化,可以确保数据迁移的成功和业务的连续性。希望本文的分享能够为大家在MySQL到PostgreSQL的数据库迁移实战中提供一些有用的参考和启示。

shejizuopin的博客 1732

PMD相位偏折术实战:如何用Python处理条纹图,让金属外壳的划痕无处遁形

本文详细介绍了PMD相位偏折术在金属外壳划痕检测中的应用,通过Python实现条纹图处理和局部特征增强技术,显著提升微小缺陷的检出率。文章涵盖从四步相移条纹图采集到形状图局部增强的完整流程,特别适合工业质检场景,帮助实现高精度、高效率的自动化检测。

weixin_29291573的博客 511

group by详解

一.  概述 group_by的意思是根据by对数据按照哪个字段进行分组,或者是哪几个字段进行分组。 二.  语法 select   字段    from   表名   where    条件     group   by       字段 或者 select   字段    from   表名   group  by    字段    having    过滤条件 注意:对于过滤条...

IT一股清流的博客 26万+

【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现(完结,附带项目源码)

【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4654

分组求和计算_excel聚合、累计、分组累计、分组聚合函数

1、excel使用函数前须知:F1键:获取帮助;F4键:切换相对引用和绝对引用;锁定行:=A$1;锁定列:=$A1;锁定行和列:=$A$1;拼接:&2、excel基本聚合函数:count、sum、average、max、min3、累计求和、累计数量、分组累计求和、分组累计数量、排名、分组排名累计:要点就是把起始位置锁死,其他位置随着拖拽位置变化而变化。下图案例:累计求和=SUM(...

weixin_32315511的博客 6087

Unity零基础到入门 ☀️| 近万字教程 对 Unity 中的 动画系统基础 全面解析+实战演练,你确定要错过吗?

Unity动画系统,Animation,Animator。 本文对Unity中的动画系统基础做了一个全面解析,还包括实战演练。近万字教程让你对Unity的动画系统有一个系统的了解,敬请品尝!

努力前行,总会成为自己心中的那道光 9万+

基于电阻分压 + 电压跟随器的直流母线电压采样电路

摘要:本文介绍了一种基于电阻分压和电压跟随器的直流母线电压采样电路设计。该电路通过R38(240kΩ)和R41(20kΩ)组成的分压网络将高电压(如48V)降至3V,再经GS8331运放构成的电压跟随器进行隔离缓冲,最后通过RC滤波输出给ADC采集。重点分析了关键元件的选型要求:分压电阻需高精度、低温度系数;运放需高输入阻抗、低失调电压;滤波电容需稳定性好。该设计适用于工业电源、新能源BMS、变频器等需要高精度电压采样的应用场景。

qq_37999850的博客 891

单组分组函数

单组分组函数

weixin_45732391的博客 3224

Buck电源设计常见的一些问题(一)半桥栅极驱动芯片共性失效问题

半桥驱动芯片主要用在器件可应用于电信,数据通信,便携式存储或更低电压系统中的电源转换器,半桥、全桥、推挽、同步降压,正激变换器和同步整流器等方面。当然难免会遇到不少问题。基本上我们在产品开发的过程中都遇到过栅极驱动芯片坏掉的情况,所以找了一些资料,学习学习。也查找查找原因。

小幽余生不加糖 2369

Oracle分组统计

---------------------------------------------------Oracle分组统计---------------------------------------------------------分组统计需要使用GROUP BY来分组语法:语法:SELECT * |列名FROM 表名 {WEHRE 查询条件}   {GROUP BY 分组字段,分组字段1…}...

李昆鹏的博客 4万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数据库中between的使用方法

select * from student where score between 60(包括) and 100(不包括); 在什么之间 select * from student where score Not between 0(包括) and 60 (不包括); 在什么间之外 ...

够浪 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SqlServer语句in,group by,between like ------查当天数据,模糊查询,查(不)范围之内,使用in查询按条件顺序返回,关联表 查重以及条数

查询当天或者前一天的数据 select*formtable where datebetweenDATEADD(DAY,-1,GETDATE())ANDGETDATE(); 查范围之内 用between…and… select * form goodswherepricebetween 1000and 3000 不在范围之内 用not…bet...

明日及时 1564

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

oracle使用笔记

一、清空数据表 用truncate、delete都可以清空表中数据。 SQL如下: truncate table [表名]; delete from [表名]; delete与truncate的区别: delete:会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments。 truncate: 是DDL操作,不产生rollback,速度快。 二、修改数据库字符集为gbk #su - oracle $sqlplus /nolog SQL> connect

qq_43427354的博客 551

group by详解

一. 概述 group_by的意思是根据by对数据按照哪个字段进行分组,或者是哪几个字段进行分组。 二. 语法 select 字段 from 表名 where 条件 group by 字段 或者 select 字段 from 表名 group by 字段 having 过滤条件 注意:对于过滤条件,可以先用where,再用group by或者是先用group by,再用having 三. 案例 1 创...

fangyuan621的专栏 1万+

SQL 查询语句先执行 SELECT?兄弟你认真的么?

SQL 查询的执行顺序是怎样的? 好像这个问题应该很好回答,毕竟自己已经写了无数个 SQL 查询了,有一些还很复杂的。还装不了这个逼了?! 但事实是,我仍然很难确切地说出它的顺序是怎样的。 言归正传,SELECT语句的完整语法如下: 1. SELECT 2. DISTINCT <select_list> 3. FROM <left_table> 4....

陈哈哈的菜园子 10万+

oracle统计 group by之后的总条数

今天有个需求:group by分组后,需要统计总条数 oracle: select count(1) from (select t.workday from NEWSTAFF_WORK_TEMPLETE t where t.position=nsp.id group by t.workday) days

ray_yang0420的博客 3679

oracle常用创建模式,ORACLE 常用操作命令

1.1导出1.2导出使用程序有以下常用的命令参数参数 说明USERID 确定执行导出实用程序的用户名和口令BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示FILE 指定导出的二进制文件名称,默认的扩展名是.dmpFULL 指定是否...

weixin_42363600的博客 415

进阶5:分组函数(一次处理一组数据得出一个结果)

文章目录说明:分组函数释意分组函数清单:目前就5个函数示例:count补充介绍1、统计结果集的行数,推荐使用count(*)2.搭配distinct实现去重的统计需求:查询有员工的部门个数示例 说明:分组函数释意 分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,又称为聚合函数或统计函数 分组函数就是一次处理一组数据得出一个数据的函数,常用于处理分组后,处理每一组的数据得出一个结果 分组函数清单:目前就5个函数 sum(字段名):求和 avg(字段名):求平均数 max(字段名):求最大值 min

秃头之路 692

使用oracle来计算方差及标准差

/* Formatted on 5/24/2012 4:15:58 PM (QP5 v5.149.1003.31008) */ SELECT deptno, ename, --st_name || ' ' || last_name employee_name, hiredate, sal, STDDE...

weixin_34125592的博客 826

Oracle(第五章--组函数和分组统计)

组函数:n个数----&gt;1个数 单行函数: n个数------&gt;n个数 多表连接类型和对应的语法格式 select [collumn,] group_function(column) from table [where condition] [group by column] [order by column]; 1、组函数在数值型数据的应用 例如:统计全公司员工最高收入、最低收入、平...

weixin_43312392的博客 1026
上一篇: 【Oracle】第四单元 多表关联查询
下一篇: 【Oracle】第六单元 子查询
ZyhMemory
博客等级 码龄10年 43粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值