我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle函数-组函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle函数-组函数

Oracle函数-组函数

函数的分类

单行函数:一个input对应一个output,input和output存在一一对应的关系 如lower

组函数:多个input,但是只对应一个output。如 sum()

------------------------------------------------------------------------------------


1、组函数(多行函数)默认情况下组函数   

     SQL>select min(sal),max(sal),sum(sal),avg(sal) from emp where empno=10;  


2、max min :统计日期数字和字符串

     SQL>select min(hiredate),max(hiredate) from emp;  

     SQL>select min(ename),max(ename) from emp;


3、count:用于结果集进行一个计数

①count(*):统计结果集为空的行

     SQL>select count(*) from emp;  

②count(xxx):不统计结果集为空的行(只统计满足表达式的非空行)

     SQL>select count(comm) from emp where deptno=30; 

     SQL>select count(comm) from emp;  

③count(distinct xxx):distinct-剔除重复的行

     SQL>select count(distinct deptno) from emp;


4、avg(xxx)求平均值

     SQL>select avg(sal) from emp;

     SQL>select avg(comm) from emp;  

     SQL>select avg(nvl(comm,0)) from emp; 统计所有人的平均奖金



5、group by:分组

①单列分组

     SQL>select avg(sal) from emp group by deptno;

     结果集没意义:需要在前面加上列名 

     SQL>select deptno,avg(sal) from emp group by deptno;

     SQL>select deptno,ename,avg(sal) from emp group by deptno;


②多列分组

先对部门分组,在对相同部门下的相同工作进行分组,在求平均值?

     SQL>select deptno,job,avg(sal) from emp group by deptno,job;

错误示例:

     SQL>select deptno,avg(sal) from emp;    


6、having:过滤

①分组之后还是想进行过滤,想要求出部门平均工资大于xxx的

     SQL>select deptno,avg(sal) from emp group by deptno;


    DEPTNO   AVG(SAL)

---------- ----------

        30 1566.66667

        20       2175

        10 2916.66667


7、条件表达式

①case

select ename,job,

  case

        when deptno=10 then sal

        when deptno=20 then 2*sal

        when deptno=30 then 3*sal

        else sal/2

  end new_sal

from emp;


②decode

select ename,job,decode(deptno,20,2*sal) from emp;

select ename,job,decode(deptno,20,2*sal,sal) from emp;

select ename,job,decode(deptno,10,sal,20,2*sal,30,3*sal,sal/2) from emp;


③只显示10号部门的工资,不是10号部门的用0表示

     SQL>select case when deptno=10 then sal else 0 endfrom emp;

     SQL>select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;




免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle函数-组函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle中的函数——Round()函数

Round(exp1,exp2)函数具有四舍五入的功能,分为以下两种情况:1.exp2数为非负四舍五入的位数从小数点后开始计数,小数点后|exp2|位,看後一位,进本位,后面舍去select Round(125.455,0) from dual ---12
Oracle中的函数——Round()函数
2016-11-27

Oracle中的函数——NVL()函数

NVL(exp1,exp2)函数时判断判断某个值是否为null。若为null,则返回exp2,否则返回exp1---格式1select nvl(exp1,exp2) from db_table ---例子select monthid,decode(nvl(sa
Oracle中的函数——NVL()函数
2017-11-03

Oracle函数

1.Lag向上取一条,Lead向下取一条  Lag(Field01) over(order by Field02)2.Rollup函数即内卷函数  分组统计3. decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)4.LAST_D
Oracle函数
2017-12-05

vue中的render函数、h()函数、函数式组件详解

在vue中我们使用模板HTML语法来组建页面的,使用render函数我们可以用js语言来构建DOM,这篇文章主要介绍了vue中的render函数、h()函数、函数式组件,需要的朋友可以参考下
2023-02-09

[学习笔记] Oracle字符串函数、日期函数、数值函数、转换函数、聚合函数

函数单行函数:对一行数据进行操作的函数,如字符串函数、数值函数、转换函数、日期函数等。聚合函数:同时对多行数据进行操作,如求和函数等。字符串函数函数说明ASCII(X)求字符X的ASCII码CHR(X)求ASCII码对应的字符LENGTH(X)求字符串X的字符
[学习笔记] Oracle字符串函数、日期函数、数值函数、转换函数、聚合函数
2020-05-29

Hive内部函数中聚合函数和分组函数有哪些

这篇文章给大家分享的是有关Hive内部函数中聚合函数和分组函数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 常用的聚合函数: max 最大值 min
2023-06-02

编程热搜

目录