一、聚合函数
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;

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

  1. mysql 分组和聚合函数

    mysql 分组和聚合函数 Mysql 聚集函数有5个: 1.COUNT() 记录个数(count(1),count(*)统计表中行数,count(列名)统计列中非null数) 2.MAX() 最大值 ...

  2. MySQL查询语句详解,排序、分组、聚合函数、约束

    create database day20; 查询的时候from前面的字段是需要显示出来的内容,后面是条件use day20;create table phones(id int,pinpai var ...

  3. sql 基础语法3:分组,聚合函数,having,联合查询,快速备份,内联函数

    select * from Classinfo select * from StuInfo select * from CourseInfo select * from ScoreInfo --分组 ...

  4. VB.NET中LINQ TO List泛型查询语句(分组,聚合函数)

    Public Class LinqToList 'LINQ在C#中使用比较方便,但是在VB中使用比较麻烦,复杂,和C#用法并不太一样 Dim listNew As List(Of Product) = ...

  5. mysql数据库查询和聚合函数

    1.模糊查询 like % 表示多个任意字符 _ 表示任意一个字符 例如:查询黄姓同学 select * from student where name '黄%' select * from stud ...

  6. mysql概要(四)order by ,limit ,group by和聚合函数的特点,子查询

    1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..: 在分组排序中,排序是对分组后的结果进行排序,而不是在组中进行排序. s ...

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

    聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...

  8. 20141031--SQL分组,数学函数,聚合函数

    /* 通过代码操作:创建一个数据库,里面有一个学生信息表, 内容包括:学号,姓名,性别,体重,年龄,语数外三门课分数,班级 插入20条数据 执行以下查询操作: 1.查姓王的同学的信息 2.分别查每门课 ...

  9. ORACLE字符串分组聚合函数(字符串连接聚合函数)

    ORACLE字符串连接分组串聚函数 wmsys.wm_concat SQL代码: select grp, wmsys.wm_concat(str) grp, 'a1' str from dual un ...

随机推荐

  1. C++ 原来 const 中所使用的函数 必须 全都具有 const 才行

    今天在写程序的时候,出现了一个错误  "对象包含与成员函数不兼容的类型限定符",从网上查了一下,原来原因是这样子的 void showPair();改成 void showPair ...

  2. php挖掘数据编码问题

    if(json_encode($jkkey) == 'null'){//判断不是utf8会返回空 $jkkey=mb_convert_encoding($jkkey,'utf-8','gbk'); } ...

  3. Ubuntu系统下手动释放内存

    有时候,像mongo这种,对内存只吃不吐的,我们要手动释放一下. drop_caches的详细文档如下:Writing to this will cause the kernel to drop cl ...

  4. https://www.oschina.net/project/zhlist/326/scripting 开源

    1https://www.oschina.net/project/zhlist/326/scripting

  5. cakePHP 分页栏

    <div class="page"><?php if ($total > 1) echo $this->element('page_list', ar ...

  6. lua keynote

    [lua keynote] 1.两个减号是单行注释: -- --[[ 多行注释 多行注释 --]] ---[[ // 三个'-'开启的是一个行注释--]] 1.1.两条语句可以在同一行,并表不需要分号 ...

  7. 申请ssl证书报提示caa提示

    申请ssl证书报下面提示caa提示,这和dns有关,换一组dns重新申请  send challenge err[acme error 'urn:acme:error:connection': DNS ...

  8. Java 几种锁

    自旋锁 自旋锁顾名思义,它会等待一定时间(自旋),在这期中会什么都不做就是等资源被释放,好处在于没有了内核态用户态切换的效率损失,但是如果它一直不能访问到资源的话就会一直占用cpu资源,所以它会循环一 ...

  9. JMeter3.0(三十八)图形化HTML报告中文乱码问题处理(转载)

    转载自 http://www.cnblogs.com/yangxia-test 由于个人在JMeter 3.0的实际应用中,脚本中的Test Plan/Sampler等元件命名都没有使用中文,所以在之 ...

  10. openvpn-admin(openvpn web管理 )

    openvpn 两种认证简介: 1.key分发: 在服务器端生成秘钥,然后下载到本地,将服务器端的ca.crt xx.crt xx.key ta.key(如果服务器启用的话需要,未开启的话不需要,功能 ...