博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
_003_
阅读量:5083 次
发布时间:2019-06-13

本文共 1421 字,大约阅读时间需要 4 分钟。

===================================================

 

分组函数

1 对列和行操作,单行函数只能对一行操作

2 能自动滤空

 

核心

avg 求平均值  count求个数 max求最大值 min求最小值 sum求和

 

求员工工资的总和

select sum(sal) from emp;      

 

员工人数

select count(ename) from emp;    同级指定列的非空行数,重名的也算

select count(*) from emp;           这样写,oracle会自动取 列里无空值(null) 的列来计算,因为会自动滤空,所以我们不好自己指定列来进行算数运算

               比如 sum(sal)/count(comm)  我们打算这样求平均工资,但是comm有很多为空的,会自动滤空,就是不算空的个数

               当然我们可以用sum(sal)/count(nvl(comm,0)) 来代替自动滤空

 

求平均工资

select avg(sal) from emp;        只需要把指定的列加进来就能统计平均数,因为会自动滤空,所以不用考虑sal为空的情况

 

求公司职员的种类个数

select count(distinct job) from emp;    distinct作用于列的前面,所以应该是写在job前面,而不是写着count前面,因为我们求的是种类个数,所以要去除重复的种类

 

分组数据

1 对数据进行分组用,比如求出每个部门的平均工资

2 group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,

   然后再使用group by 对筛选后的结果进行分组 使用having字句对分组后的结果进行筛选

3 用group by 的时候,select 列表中没有被包含在组函数中的列,都必须在group by后面出现,比如select deptno,avg(sal) from emp group by deptno; 

 deptno没有被包含在组函数中,所以必须在group by 的后面出现,而sal被组函数包裹着,所以不需要

4 select deptno,avg(sal) from emp; 这条语句乍看起来没错,但其实会报错,因为单组分组函数,用了分组函数,那么一般就会指定一个分组,后面就要用group by

 如果不用group by ,那么其实逻辑上是行不通的,这个不能用文字描述出来,太抽象了,能运用懂意思即可

 

核心

group by 数据分组

 

求出每个部门的平均工资

select deptno,avg(sal) from emp group by deptno;  会自动按deptno分组,会自动过滤重复组,然后按组进行运算,所以group by 是作用在查询之前的

 

                         

where后面不能使用组函数,比如不能这样写where avg(sal)>2000;并不是说出现了where就不能出现组函数

=

=

=

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                         

 

转载于:https://www.cnblogs.com/huangtiandi/p/9216075.html

你可能感兴趣的文章
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
synchronized
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
QML学习笔记之一
查看>>
Window 的引导过程
查看>>
App右上角数字
查看>>