Oracle_SQL(2) 分组与聚合函数

一、聚合函数
1.定义:对表或视图的查询时,针对多行记录只返回一个值的函数。
2.用途:用于select语句,HAVING条件
二、5种聚合函数
1.SUM(n) 对列求和
select sum(sal) from emp;
select deptno,sum(sal) from emp group by deptno;
2.AVG(n) 对列求平均值
select avg(sal) from emp;
select deptno,avg(sal) from emp group by deptno;
3.MAX(n) 对列求最大值
select max(sal) from emp;
select deptno,max(sal) from emp group by deptno;
4.MIN(n) 对列求最小值
select min(sal) from emp;
select deptno,min(sal) from emp group by deptno;
5.COUNT(1) 记录行数
select COUNT(1) from emp;
select deptno,COUNT(1) from emp group by deptno;
select deptno,avg(sal),sum(sal)/COUNT(1) from emp group by deptno;
count(可空列)对null值不计数
select count(comm) from emp;
count(distinct 列)对null值不计数
select count(distinct empno),count(distinct deptno) from emp;

三、分组语句
语法:group by 列名,... having 条件
1.按部门分组,输出5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp group by deptno order by deptno;
2.按部门分组,输出部门人数大于3的部门编号及5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp group by deptno having count(1)>3 order by deptno;
3.按部门分组,输出部门人数大于等于3并且小于等于6
的部门编号及5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp group by deptno having count(1)>=3 and count(1)<=6
order by deptno;
4.按部门分组,输出工资大于1000,部门人数大于等于3并且小于等于6
的部门编号及5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp where sal>1000
group by deptno having count(1)>=3 and count(1)<=6
order by deptno;

原文地址:https://www.cnblogs.com/BradMiller/p/9279501.html

时间: 2024-11-08 20:26:23

Oracle_SQL(2) 分组与聚合函数的相关文章

mysql 数据库笔记-基本查询(分组、聚合函数)

SELECT COUNT(*) FROM T_Employee WHERE FAge=23;  //查看人数 ALTER TABLE T_Employee ADD FSubCompany VARCHAR(20); ALTER TABLE T_Employee ADD FDepartment VARCHAR(20);  //为T_Employee表增加两列 UPDATE T_Employee SET FSubCompany='Beijing',FDepartment='Development' W

mysql 分组和聚合函数

Mysql 聚集函数有5个: 1.COUNT() 记录个数(count(1),count(*)统计表中行数,count(列名)统计列中非null数) 2.MAX() 最大值 3.MIN() 最小值 4.AVG()平均值 5.SUM() 求和 聚集函数常常和分组一起工作. 1.创建分组 select name, max(age) from stu group by name; 2.过滤分组 select name, max(age) from stu group by name having mi

Chapter 3. 聚合函数

=====聚合函数===== sum 求和 select sum(列名)from 表名 count 计数 select count(*)from 表名 avg 平均数 select avg (列名)from 表名 max 最大值 select max(列名)from 表名 min最小值 select min(列名)from 表名 注: 1.聚合函数不统计空值 2.如果使用聚合函数的时没有group by分组,聚合函数默认把整个表中的数据当成一组来统计

聚合函数、数学函数、日期时间函数

ggregate Functions(Transact-SQL)聚合函数 AVG:求平均分COUNT:计算个数MAX:求最大值MIN:求最小值SUM:求和 求平均身高select AVG (shengao) from student as:添加的列名select AVG (shengao) as 平均身高 from student 求个数select COUNT (*) from student where xingbie = '男' 求最大select MAX(shengao) from st

聚合函数与分组

一:聚合函数 count(*),返回行的数目.数值为null的不计算在内,distinct 去重复. sum()计算列中所有值得总和. avg()计算列中所有值得平均值. max()计算列中所有值得总最大值. min()计算列中所有值得最小值. 二:分组的语句 group by 三:having 子句 四:执行顺序 select--from--where--group--order by--having 五:组合查询 1,添加到其他查询的查询语句叫子查询.如果子查询的返回单行时,就可以简单的插入

SQL语句汇总(三)——聚合函数、分组、子查询及组合查询 - Darly

–COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计算列的最小值 首先,创建数据表如下: 执行列.行计数(count): 标准格式 SELECT COUNT(<计数规范>) FROM <表名> 其中,计数规范包括: - * :计数所有选择的行,包括NULL值: - ALL 列名:计数指定列的所有非空值行,如果不写,默认为ALL: - DISTINCT 列名:计数指定列的唯一非空值行. 例,计算班里共有多少学生:

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all;  Select 列 into 新表;字符串函数;日期函数 SQL聚合函数 MAX(最大值).MIN(最小值).AVG(平均值).SUM(和).COUNT(数量:记录的条数) 聚合函数对null不计算.如果一行数据都是null,count(*)包含对空值行.重复行的统计. --聚合函数演示 selec

MySQL最常用分组聚合函数

一.聚合函数(aggregation function)---也就是组函数 在一个行的集合(一组行)上进行操作,对每个组给一个结果. 常用的组函数: AVG([distinct] expr) 求平均值 COUNT({*|[distinct] } expr) 统计行的数量 MAX([distinct] expr) 求最大值 MIN([distinct] expr) 求最小值 SUM([distinct] expr) 求累加和 ①每个组函数接收一个参数 ②默认情况下,组函数忽略列值为null的行,不

聚合函数,分组查询,连接查询综合例子

实例如下: update users set classes='1' where id in('u001','u002','u003','u004'); update users set classes='2' where id in('u005','u006','u007'); users表的内容如下: +------+-----------+------------+------+-------+---------+ | id | firstname | secondname | age |