Oracle函数组的使用
--1.组函数
--COUNT():用来统计记录的条数 如果没有记录,返回 0
--COUNT函数可以根据一列或多列进行计算,没有排重功能
--统计EMP表一共有多少条记录
select count(empno) from emp;
select count(*) from emp;
--统计EMP中一共有多少种工作
select count(distinct job) from emp;
--MAX()计算最大值
--查出EMP表中最高工资
select max(sal) from emp;
--MIN()计处最小值
--查出EMP表中的最低工资
select min(sal) from emp;
--SUM()计算总和
--查询EMP表中的员工工资总和
select sum(sal) from emp;
--5) AVG()计算平均值 --> 空值的话会忽略,不会计算在内
--查询员工平均工资
select round(avg (sal)) from emp;
--------------------------------------------------------------------------------
--2.分组统计
--查询出各部门的员工数目
select deptno,count(*) from emp group by deptno;
--求出各部门平均工资
select deptno,round(avg(sal)) from emp group by deptno;
--按照职位分组,求出每个职位的最高和最低工资
select job,max(sal) 最高工资,min(sal) 最低工资 from emp group by job;
--按照职位分组,统计平均工资最高的工资
SELECT MAX(AVG(sal)) FROM emp GROUP BY job;
--按部门名称分组,显示部门名称,以及每个部门的员工数
select d.dname,count(e.empno) from emp e, dept d where e.deptno = d.deptno group by d.dname;
--查询出每个部门的名称,部门的人数,平均工资
select d.dname,count(e.empno) 人数,round(nvl(avg(e.sal),0)) 平均工资 from emp e, dept d where e.deptno = d.deptno group by d.dname;
--一般都是按照一个字段来分组,如果按照多个字段来分组,那么必须多个字段都一样才算一个组
--查询出每个部门的编号,名称,位置,部门的人数,平均工资
select d.deptno,d.dname,d.loc,count(e.empno),round(nvl(avg(e.sal),0)) 平均工资
from dept d,emp e where e.deptno = d.deptno(+) group by d.deptno, d.dname,d.loc;
--查出平均工资大于2000的部门编号与平均工资
select deptno,round(nvl(avg(sal),0)) from emp group by deptno having round(nvl(avg(sal),0)) > 2000;
--显示非销售人员工作名称以及从事同一工作的雇员的月工资总和,并且满足从事同一工作的员工的月工资合计大于5000,输出的结果按月工资总和排序
select job,round(sum(sal)) 工资和 from emp where job != 'SALESMAN' group by job having round(sum(sal)) > 5000 order by round(sum(sal)) desc;
--查询出平均工资最高的部门
select max(round(avg(sal))) from emp group by deptno;
Oracle函数组的使用的更多相关文章
- oracle函数,游标,视图使用总结0.000000000000000000001
oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...
- oracle函数listagg的使用说明(分组后连接字段)
关于oracle函数listagg的使用说明 工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来. 如图,原始数据是这样的: 客户希望能够实现这样的汇总合并: 那么通常我会使用 ...
- 浅谈Oracle函数返回Table集合
在调用Oracle函数时为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合 ...
- DrawDib函数组的使用
Microsoft的针对与设备无关位图(DIB位图),在其WIN32 SDK的Multimedia中提供了一组绘制DIB位图的高性能函数组──DrawDib函数组.DrawDib函数组是一组不依赖于图 ...
- oracle学习笔记(三)oracle函数
--oracle 函数 --lower(char):将字符串转换为小写格式 --upper(char):将字符串转换为大写格式 --length(char):返回字符串的长度 --substr(cha ...
- oracle函数和存储过程有什么区别
oracle函数和存储过程有什么区别 1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有 2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用. 函数 ...
- Oracle函数sys_connect_by_path 详解
Oracle函数sys_connect_by_path 详解 语法:Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行.其语法一般为: s ...
- 汉字转拼音的Oracle函数
前言: 最近处理一个特殊的问题,需要用到汉字自动转换拼音的功能. 解决: 在这里找了不少资料,都是有所缺陷,而且也好像很绕.其实是一个很简单的东东.后来还是自己写了一个函数获取.分享出来,给有需要的X ...
随机推荐
- spring3系列一
IOC基础 Ioc是什么 Ioc--Inversion of Control 控制反转,不是什么技术,而是一种设计思想.在java开发中,ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对 ...
- ns3 print 丢包内容的两种方法
1.方法一enable ascii print AsciiTraceHelper ascii; pointToPoint.EnableAsciiAll (ascii.CreateFileStream ...
- ngx_http_proxy_module模块.md
ngx_http_proxy_module ngx_http_proxy_module模块允许将请求传递到另一个服务器. proxy_bind Syntax: proxy_bind address [ ...
- C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
必须JobManager初始化 方式1: public void Start() { JobManager.AddJob(() => FetchingDa ...
- CentOS 配置MySQL允许远程登录
Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作: 一.允许root用户在任何地方进行远程登录,并具有所有库 ...
- lombok在IntelliJ IDEA下的使用
lombok是一款可以精减java代码.提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码.代码越少,意味着出b ...
- [LeetCode] Serialize and Deserialize Binary Tree 二叉树的序列化和去序列化
Serialization is the process of converting a data structure or object into a sequence of bits so tha ...
- 酷酷的mapv
做城市热力图的时候无意浏览到mapv强大的功能.比如地图上路线的汇聚效果,如下 <!DOCTYPE html> <html> <head> <meta cha ...
- express不是内部或外部命令
网上找了一下原因,是因为express在4.0以后把命令工具单独分出来了,所以安装完express后,还得再安装express-generator: 如果不是采用的全局安装,则需要把 "安装 ...
- xamarin.forms新建项目android编译错误
vs2015 update3 新建的xamarin.forms项目中的android项目编译错误.提示缺少android_m2repository_r22.zip,96659D653BDE0FAEDB ...